+ Request that the screen saver theme be restarted and, if applicable,
+--
+1.8.1.6
+
+
+From 7141e8ce04921ab6d46648cba20c691b8d8f8e0b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?=
+Date: Sat, 2 Mar 2013 08:11:45 +0100
+Subject: [PATCH 3/4] Revert "Fixed away_message shown as "(null)" (using a
+ prefix to explicitly mark custom away messages)"
+
+This reverts commit bf1f42b9f9a673091b0f7bf1118781b2d95c88fd.
+---
+ src/cinnamon-screensaver-command.c | 9 +-------
+ src/gs-window-x11.c | 43 ++++++++++++--------------------------
+ 2 files changed, 14 insertions(+), 38 deletions(-)
+
+diff --git a/src/cinnamon-screensaver-command.c b/src/cinnamon-screensaver-command.c
+index 5c90916..dbcac8a 100644
+--- a/src/cinnamon-screensaver-command.c
++++ b/src/cinnamon-screensaver-command.c
+@@ -310,14 +310,7 @@
+ }
+
+ if (do_lock) {
+- if (g_strcmp0 (away_message, "DEFAULT") == 0) {
+- reply = screensaver_send_message_string (connection, "LockMessage", away_message);
+- }
+- else {
+- gchar * custom_message = g_strdup_printf("CUSTOM###%s", away_message);
+- reply = screensaver_send_message_string (connection, "LockMessage", custom_message);
+- g_free (custom_message);
+- }
++ reply = screensaver_send_message_string (connection, "LockMessage", away_message);
+ if (reply == NULL) {
+ g_message ("Did not receive a reply from the screensaver.");
+ goto done;
+diff --git a/src/gs-window-x11.c b/src/gs-window-x11.c
+index 6858509..0e3bb6f 100644
+--- a/src/gs-window-x11.c
++++ b/src/gs-window-x11.c
+@@ -2132,38 +2132,21 @@ enum {
+ return utf8_name;
+ }
+
+-static gchar *
+-str_replace(const char *string, const char *delimiter, const char *replacement)
+-{
+- gchar **split;
+- gchar *ret;
+- g_return_val_if_fail(string != NULL, NULL);
+- g_return_val_if_fail(delimiter != NULL, NULL);
+- g_return_val_if_fail(replacement != NULL, NULL);
+- split = g_strsplit(string, delimiter, 0);
+- ret = g_strjoinv(replacement, split);
+- g_strfreev(split);
+- return ret;
+-}
+-
+ static void
+ update_clock (GSWindow *window)
+-{
+- char *markup;
+- char *away_message;
+-
+- if (window->priv->away_message != NULL && g_str_has_prefix (window->priv->away_message, "CUSTOM###") && g_strcmp0(window->priv->away_message, "") != 0) {
+- away_message = str_replace(window->priv->away_message, "CUSTOM###", "");
+- away_message = g_strdup_printf (_("%s: \"%s\""), get_user_display_name(), away_message);
+- }
+- else {
+- away_message = g_strdup_printf (_("%s"), window->priv->default_message);
+- }
+-
+- markup = g_strdup_printf ("%s\n%s", gnome_wall_clock_get_clock (window->priv->clock_tracker), away_message);
+- gtk_label_set_markup (GTK_LABEL (window->priv->clock), markup);
+- g_free (markup);
+- g_free (away_message);
++{
++ char *markup;
++ char *away_message;
++ if (g_strcmp0(window->priv->away_message, "DEFAULT") == 0 || g_strcmp0(window->priv->away_message, "") == 0) {
++ away_message = g_strdup_printf (_("%s"), window->priv->default_message);
++ }
++ else {
++ away_message = g_strdup_printf (_("%s: \"%s\""), get_user_display_name(), window->priv->away_message);
++ }
++ markup = g_strdup_printf ("%s\n%s", gnome_wall_clock_get_clock (window->priv->clock_tracker), away_message);
++ gtk_label_set_markup (GTK_LABEL (window->priv->clock), markup);
++ g_free (markup);
++ g_free (away_message);
+ }
+
+ static void
+--
+1.8.1.6
+
+
+From 1ed6a959746e115a7f33de2134921c6572185ebd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?=
+Date: Sat, 2 Mar 2013 08:13:04 +0100
+Subject: [PATCH 4/4] Simplify away message handling
+
+---
+ src/cinnamon-screensaver-command.c | 19 ++++++++++++-------
+ src/gs-window-x11.c | 7 +++----
+ 2 files changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/src/cinnamon-screensaver-command.c b/src/cinnamon-screensaver-command.c
+index dbcac8a..4836f81 100644
+--- a/src/cinnamon-screensaver-command.c
++++ b/src/cinnamon-screensaver-command.c
+@@ -41,7 +41,7 @@
+ static gboolean do_query = FALSE;
+ static gboolean do_time = FALSE;
+
+-static gchar *away_message = "DEFAULT";
++static gchar *away_message;
+
+ static GOptionEntry entries [] = {
+ { "exit", 0, 0, G_OPTION_ARG_NONE, &do_quit,
+@@ -114,7 +114,7 @@
+ static GDBusMessage *
+ screensaver_send_message_string (GDBusConnection *connection,
+ const char *name,
+- gboolean value)
++ gchar *value)
+ {
+ GDBusMessage *message, *reply;
+ GError *error;
+@@ -310,12 +310,17 @@
+ }
+
+ if (do_lock) {
+- reply = screensaver_send_message_string (connection, "LockMessage", away_message);
+- if (reply == NULL) {
+- g_message ("Did not receive a reply from the screensaver.");
+- goto done;
++ if (away_message) {
++ reply = screensaver_send_message_string (connection, "LockMessage", away_message);
++ if (reply == NULL) {
++ g_message ("Did not receive a reply from the screensaver.");
++ goto done;
++ }
++ g_object_unref (reply);
++ } else {
++ reply = screensaver_send_message_void (connection, "Lock", FALSE);
++ g_assert (reply == NULL);
+ }
+- g_object_unref (reply);
+ }
+
+ if (do_activate) {
+diff --git a/src/gs-window-x11.c b/src/gs-window-x11.c
+index 0e3bb6f..22f5471 100644
+--- a/src/gs-window-x11.c
++++ b/src/gs-window-x11.c
+@@ -2137,11 +2137,10 @@ enum {
+ {
+ char *markup;
+ char *away_message;
+- if (g_strcmp0(window->priv->away_message, "DEFAULT") == 0 || g_strcmp0(window->priv->away_message, "") == 0) {
+- away_message = g_strdup_printf (_("%s"), window->priv->default_message);
+- }
+- else {
++ if (window->priv->away_message && g_strcmp0(window->priv->away_message, "") != 0) {
+ away_message = g_strdup_printf (_("%s: \"%s\""), get_user_display_name(), window->priv->away_message);
++ } else {
++ away_message = g_strdup_printf (_("%s"), window->priv->default_message);
+ }
+ markup = g_strdup_printf ("%s\n%s", gnome_wall_clock_get_clock (window->priv->clock_tracker), away_message);
+ gtk_label_set_markup (GTK_LABEL (window->priv->clock), markup);
+--
+1.8.1.6
+
diff --git a/community/cinnamon-screensaver/gnome-autogen.sh b/community/cinnamon-screensaver/gnome-autogen.sh
deleted file mode 100644
index 2467a1de2..000000000
--- a/community/cinnamon-screensaver/gnome-autogen.sh
+++ /dev/null
@@ -1,538 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-#name of package
-test "$PKG_NAME" || PKG_NAME=Package
-test "$srcdir" || srcdir=.
-
-# default version requirements ...
-test "$REQUIRED_AUTOCONF_VERSION" || REQUIRED_AUTOCONF_VERSION=2.53
-test "$REQUIRED_AUTOMAKE_VERSION" || REQUIRED_AUTOMAKE_VERSION=1.9
-test "$REQUIRED_LIBTOOL_VERSION" || REQUIRED_LIBTOOL_VERSION=1.4.3
-test "$REQUIRED_GETTEXT_VERSION" || REQUIRED_GETTEXT_VERSION=0.10.40
-test "$REQUIRED_GLIB_GETTEXT_VERSION" || REQUIRED_GLIB_GETTEXT_VERSION=2.2.0
-test "$REQUIRED_INTLTOOL_VERSION" || REQUIRED_INTLTOOL_VERSION=0.25
-test "$REQUIRED_PKG_CONFIG_VERSION" || REQUIRED_PKG_CONFIG_VERSION=0.14.0
-test "$REQUIRED_GTK_DOC_VERSION" || REQUIRED_GTK_DOC_VERSION=1.0
-test "$REQUIRED_DOC_COMMON_VERSION" || REQUIRED_DOC_COMMON_VERSION=2.3.0
-test "$REQUIRED_GNOME_DOC_UTILS_VERSION" || REQUIRED_GNOME_DOC_UTILS_VERSION=0.4.2
-
-# a list of required m4 macros. Package can set an initial value
-test "$REQUIRED_M4MACROS" || REQUIRED_M4MACROS=
-test "$FORBIDDEN_M4MACROS" || FORBIDDEN_M4MACROS=
-
-# Not all echo versions allow -n, so we check what is possible. This test is
-# based on the one in autoconf.
-ECHO_C=
-ECHO_N=
-case `echo -n x` in
--n*)
- case `echo 'x\c'` in
- *c*) ;;
- *) ECHO_C='\c';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-# some terminal codes ...
-if tty < /dev/null 1>/dev/null 2>&1; then
- boldface="`tput bold 2>/dev/null`"
- normal="`tput sgr0 2>/dev/null`"
-else
- boldface=
- normal=
-fi
-printbold() {
- echo $ECHO_N "$boldface" $ECHO_C
- echo "$@"
- echo $ECHO_N "$normal" $ECHO_C
-}
-printerr() {
- echo "$@" >&2
-}
-
-# Usage:
-# compare_versions MIN_VERSION ACTUAL_VERSION
-# returns true if ACTUAL_VERSION >= MIN_VERSION
-compare_versions() {
- ch_min_version=$1
- ch_actual_version=$2
- ch_status=0
- IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="."
- set $ch_actual_version
- for ch_min in $ch_min_version; do
- ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes
- if [ -z "$ch_min" ]; then break; fi
- if [ -z "$ch_cur" ]; then ch_status=1; break; fi
- if [ $ch_cur -gt $ch_min ]; then break; fi
- if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi
- done
- IFS="$ch_save_IFS"
- return $ch_status
-}
-
-# Usage:
-# version_check PACKAGE VARIABLE CHECKPROGS MIN_VERSION SOURCE
-# checks to see if the package is available
-version_check() {
- vc_package=$1
- vc_variable=$2
- vc_checkprogs=$3
- vc_min_version=$4
- vc_source=$5
- vc_status=1
-
- vc_checkprog=`eval echo "\\$$vc_variable"`
- if [ -n "$vc_checkprog" ]; then
- printbold "using $vc_checkprog for $vc_package"
- return 0
- fi
-
- if test "x$vc_package" = "xautomake" -a "x$vc_min_version" = "x1.4"; then
- vc_comparator="="
- else
- vc_comparator=">="
- fi
- printbold "checking for $vc_package $vc_comparator $vc_min_version..."
- for vc_checkprog in $vc_checkprogs; do
- echo $ECHO_N " testing $vc_checkprog... " $ECHO_C
- if $vc_checkprog --version < /dev/null > /dev/null 2>&1; then
- vc_actual_version=`$vc_checkprog --version | head -n 1 | \
- sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'`
- if compare_versions $vc_min_version $vc_actual_version; then
- echo "found $vc_actual_version"
- # set variables
- eval "$vc_variable=$vc_checkprog; \
- ${vc_variable}_VERSION=$vc_actual_version"
- vc_status=0
- break
- else
- echo "too old (found version $vc_actual_version)"
- fi
- else
- echo "not found."
- fi
- done
- if [ "$vc_status" != 0 ]; then
- printerr "***Error***: You must have $vc_package $vc_comparator $vc_min_version installed"
- printerr " to build $PKG_NAME. Download the appropriate package for"
- printerr " from your distribution or get the source tarball at"
- printerr " $vc_source"
- printerr
- exit $vc_status
- fi
- return $vc_status
-}
-
-# Usage:
-# require_m4macro filename.m4
-# adds filename.m4 to the list of required macros
-require_m4macro() {
- case "$REQUIRED_M4MACROS" in
- $1\ * | *\ $1\ * | *\ $1) ;;
- *) REQUIRED_M4MACROS="$REQUIRED_M4MACROS $1" ;;
- esac
-}
-
-forbid_m4macro() {
- case "$FORBIDDEN_M4MACROS" in
- $1\ * | *\ $1\ * | *\ $1) ;;
- *) FORBIDDEN_M4MACROS="$FORBIDDEN_M4MACROS $1" ;;
- esac
-}
-
-# Usage:
-# add_to_cm_macrodirs dirname
-# Adds the dir to $cm_macrodirs, if it's not there yet.
-add_to_cm_macrodirs() {
- case $cm_macrodirs in
- "$1 "* | *" $1 "* | *" $1") ;;
- *) cm_macrodirs="$cm_macrodirs $1";;
- esac
-}
-
-# Usage:
-# print_m4macros_error
-# Prints an error message saying that autoconf macros were misused
-print_m4macros_error() {
- printerr "***Error***: some autoconf macros required to build $PKG_NAME"
- printerr " were not found in your aclocal path, or some forbidden"
- printerr " macros were found. Perhaps you need to adjust your"
- printerr " ACLOCAL_FLAGS?"
- printerr
-}
-
-# Usage:
-# check_m4macros
-# Checks that all the requested macro files are in the aclocal macro path
-# Uses REQUIRED_M4MACROS and ACLOCAL variables.
-check_m4macros() {
- # construct list of macro directories
- cm_macrodirs=`$ACLOCAL --print-ac-dir`
- # aclocal also searches a version specific dir, eg. /usr/share/aclocal-1.9
- # but it contains only Automake's own macros, so we can ignore it.
-
- # Read the dirlist file, supported by Automake >= 1.7.
- # If AUTOMAKE was defined, no version was detected.
- if [ -z "$AUTOMAKE_VERSION" ] || compare_versions 1.7 $AUTOMAKE_VERSION && [ -s $cm_macrodirs/dirlist ]; then
- cm_dirlist=`sed 's/[ ]*#.*//;/^$/d' $cm_macrodirs/dirlist`
- if [ -n "$cm_dirlist" ] ; then
- for cm_dir in $cm_dirlist; do
- if [ -d $cm_dir ]; then
- add_to_cm_macrodirs $cm_dir
- fi
- done
- fi
- fi
-
- # Parse $ACLOCAL_FLAGS
- set - $ACLOCAL_FLAGS
- while [ $# -gt 0 ]; do
- if [ "$1" = "-I" ]; then
- add_to_cm_macrodirs "$2"
- shift
- fi
- shift
- done
-
- cm_status=0
- if [ -n "$REQUIRED_M4MACROS" ]; then
- printbold "Checking for required M4 macros..."
- # check that each macro file is in one of the macro dirs
- for cm_macro in $REQUIRED_M4MACROS; do
- cm_macrofound=false
- for cm_dir in $cm_macrodirs; do
- if [ -f "$cm_dir/$cm_macro" ]; then
- cm_macrofound=true
- break
- fi
- # The macro dir in Cygwin environments may contain a file
- # called dirlist containing other directories to look in.
- if [ -f "$cm_dir/dirlist" ]; then
- for cm_otherdir in `cat $cm_dir/dirlist`; do
- if [ -f "$cm_otherdir/$cm_macro" ]; then
- cm_macrofound=true
- break
- fi
- done
- fi
- done
- if $cm_macrofound; then
- :
- else
- printerr " $cm_macro not found"
- cm_status=1
- fi
- done
- fi
- if [ "$cm_status" != 0 ]; then
- print_m4macros_error
- exit $cm_status
- fi
- if [ -n "$FORBIDDEN_M4MACROS" ]; then
- printbold "Checking for forbidden M4 macros..."
- # check that each macro file is in one of the macro dirs
- for cm_macro in $FORBIDDEN_M4MACROS; do
- cm_macrofound=false
- for cm_dir in $cm_macrodirs; do
- if [ -f "$cm_dir/$cm_macro" ]; then
- cm_macrofound=true
- break
- fi
- done
- if $cm_macrofound; then
- printerr " $cm_macro found (should be cleared from macros dir)"
- cm_status=1
- fi
- done
- fi
- if [ "$cm_status" != 0 ]; then
- print_m4macros_error
- exit $cm_status
- fi
-}
-
-# try to catch the case where the macros2/ directory hasn't been cleared out.
-forbid_m4macro gnome-cxx-check.m4
-
-want_libtool=false
-want_gettext=false
-want_glib_gettext=false
-want_intltool=false
-want_pkg_config=false
-want_gtk_doc=false
-want_gnome_doc_utils=false
-want_maintainer_mode=false
-
-find_configure_files() {
- configure_ac=
- if test -f "$1/configure.ac"; then
- configure_ac="$1/configure.ac"
- elif test -f "$1/configure.in"; then
- configure_ac="$1/configure.in"
- fi
- if test "x$configure_ac" != x; then
- echo "$configure_ac"
- # TODO We have not detected the right autoconf yet!
- autoconf -t 'AC_CONFIG_SUBDIRS:$1' "$configure_ac" | while read dir; do
- find_configure_files "$1/$dir"
- done
- fi
-}
-
-configure_files="`find_configure_files $srcdir`"
-
-for configure_ac in $configure_files; do
- dirname=`dirname $configure_ac`
- if [ -f $dirname/NO-AUTO-GEN ]; then
- echo skipping $dirname -- flagged as no auto-gen
- continue
- fi
- if grep "^A[CM]_PROG_LIBTOOL" $configure_ac >/dev/null ||
- grep "^LT_INIT" $configure_ac >/dev/null; then
- want_libtool=true
- fi
- if grep "^AM_GNU_GETTEXT" $configure_ac >/dev/null; then
- want_gettext=true
- fi
- if grep "^AM_GLIB_GNU_GETTEXT" $configure_ac >/dev/null; then
- want_glib_gettext=true
- fi
- if grep "^AC_PROG_INTLTOOL" $configure_ac >/dev/null ||
- grep "^IT_PROG_INTLTOOL" $configure_ac >/dev/null; then
- want_intltool=true
- fi
- if grep "^PKG_CHECK_MODULES" $configure_ac >/dev/null; then
- want_pkg_config=true
- fi
- if grep "^GTK_DOC_CHECK" $configure_ac >/dev/null; then
- want_gtk_doc=true
- fi
- if grep "^GNOME_DOC_INIT" $configure_ac >/dev/null; then
- want_gnome_doc_utils=true
- fi
-
- # check that AM_MAINTAINER_MODE is used
- if grep "^AM_MAINTAINER_MODE" $configure_ac >/dev/null; then
- want_maintainer_mode=true
- fi
-
- if grep "^YELP_HELP_INIT" $configure_ac >/dev/null; then
- require_m4macro yelp.m4
- fi
-
- # check to make sure gnome-common macros can be found ...
- if grep "^GNOME_COMMON_INIT" $configure_ac >/dev/null ||
- grep "^GNOME_DEBUG_CHECK" $configure_ac >/dev/null ||
- grep "^GNOME_MAINTAINER_MODE_DEFINES" $configure_ac >/dev/null; then
- require_m4macro gnome-common.m4
- fi
- if grep "^GNOME_COMPILE_WARNINGS" $configure_ac >/dev/null ||
- grep "^GNOME_CXX_WARNINGS" $configure_ac >/dev/null; then
- require_m4macro gnome-compiler-flags.m4
- fi
- if grep "^GNOME_CODE_COVERAGE" $configure_ac >/dev/null; then
- require_m4macro gnome-code-coverage.m4
- fi
-done
-
-#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13
-WANT_AUTOCONF_2_5=1
-export WANT_AUTOCONF_2_5
-version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \
- "http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz"
-AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/`
-
-case $REQUIRED_AUTOMAKE_VERSION in
- 1.4*) automake_progs="automake-1.4" ;;
- 1.5*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6 automake-1.5" ;;
- 1.6*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6" ;;
- 1.7*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7" ;;
- 1.8*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8" ;;
- 1.9*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9" ;;
- 1.10*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10" ;;
- 1.11*) automake_progs="automake-1.13 automake-1.12 automake-1.11" ;;
- 1.12*) automake_progs="automake-1.13 automake-1.12" ;;
- 1.13*) automake_progs="automake-1.13" ;;
-esac
-version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \
- "http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz"
-ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
-
-if $want_libtool; then
- version_check libtool LIBTOOLIZE "libtoolize glibtoolize" $REQUIRED_LIBTOOL_VERSION \
- "http://ftp.gnu.org/pub/gnu/libtool/libtool-$REQUIRED_LIBTOOL_VERSION.tar.gz"
- require_m4macro libtool.m4
-fi
-
-if $want_gettext; then
- version_check gettext GETTEXTIZE gettextize $REQUIRED_GETTEXT_VERSION \
- "http://ftp.gnu.org/pub/gnu/gettext/gettext-$REQUIRED_GETTEXT_VERSION.tar.gz"
- require_m4macro gettext.m4
-fi
-
-if $want_glib_gettext; then
- version_check glib-gettext GLIB_GETTEXTIZE glib-gettextize $REQUIRED_GLIB_GETTEXT_VERSION \
- "ftp://ftp.gtk.org/pub/gtk/v2.2/glib-$REQUIRED_GLIB_GETTEXT_VERSION.tar.gz"
- require_m4macro glib-gettext.m4
-fi
-
-if $want_intltool; then
- version_check intltool INTLTOOLIZE intltoolize $REQUIRED_INTLTOOL_VERSION \
- "http://ftp.gnome.org/pub/GNOME/sources/intltool/"
- require_m4macro intltool.m4
-fi
-
-if $want_pkg_config; then
- version_check pkg-config PKG_CONFIG pkg-config $REQUIRED_PKG_CONFIG_VERSION \
- "'http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-$REQUIRED_PKG_CONFIG_VERSION.tar.gz"
- require_m4macro pkg.m4
-fi
-
-if $want_gtk_doc; then
- version_check gtk-doc GTKDOCIZE gtkdocize $REQUIRED_GTK_DOC_VERSION \
- "http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
- require_m4macro gtk-doc.m4
-fi
-
-if $want_gnome_doc_utils; then
- version_check gnome-doc-utils GNOME_DOC_PREPARE gnome-doc-prepare $REQUIRED_GNOME_DOC_UTILS_VERSION \
- "http://ftp.gnome.org/pub/GNOME/sources/gnome-doc-utils/"
-fi
-
-if [ "x$USE_COMMON_DOC_BUILD" = "xyes" ]; then
- version_check gnome-common DOC_COMMON gnome-doc-common \
- $REQUIRED_DOC_COMMON_VERSION " "
-fi
-
-check_m4macros
-
-if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
- printerr "**Warning**: I am going to run \`configure' with no arguments."
- printerr "If you wish to pass any to it, please specify them on the"
- printerr \`$0\'" command line."
- printerr
-fi
-
-topdir=`pwd`
-for configure_ac in $configure_files; do
- dirname=`dirname $configure_ac`
- basename=`basename $configure_ac`
- if [ -f $dirname/NO-AUTO-GEN ]; then
- echo skipping $dirname -- flagged as no auto-gen
- elif [ ! -w $dirname ]; then
- echo skipping $dirname -- directory is read only
- else
- printbold "Processing $configure_ac"
- cd $dirname
-
- # Note that the order these tools are called should match what
- # autoconf's "autoupdate" package does. See bug 138584 for
- # details.
-
- # programs that might install new macros get run before aclocal
- if grep "^A[CM]_PROG_LIBTOOL" $basename >/dev/null ||
- grep "^LT_INIT" $basename >/dev/null; then
- printbold "Running $LIBTOOLIZE..."
- $LIBTOOLIZE --force --copy || exit 1
- fi
-
- if grep "^AM_GLIB_GNU_GETTEXT" $basename >/dev/null; then
- printbold "Running $GLIB_GETTEXTIZE... Ignore non-fatal messages."
- echo "no" | $GLIB_GETTEXTIZE --force --copy || exit 1
- elif grep "^AM_GNU_GETTEXT" $basename >/dev/null; then
- if grep "^AM_GNU_GETTEXT_VERSION" $basename > /dev/null; then
- printbold "Running autopoint..."
- autopoint --force || exit 1
- else
- printbold "Running $GETTEXTIZE... Ignore non-fatal messages."
- echo "no" | $GETTEXTIZE --force --copy || exit 1
- fi
- fi
-
- if grep "^AC_PROG_INTLTOOL" $basename >/dev/null ||
- grep "^IT_PROG_INTLTOOL" $basename >/dev/null; then
- printbold "Running $INTLTOOLIZE..."
- $INTLTOOLIZE --force --copy --automake || exit 1
- fi
- if grep "^GTK_DOC_CHECK" $basename >/dev/null; then
- printbold "Running $GTKDOCIZE..."
- $GTKDOCIZE --copy || exit 1
- fi
-
- if [ "x$USE_COMMON_DOC_BUILD" = "xyes" ]; then
- printbold "Running gnome-doc-common..."
- gnome-doc-common --copy || exit 1
- fi
- if grep "^GNOME_DOC_INIT" $basename >/dev/null; then
- printbold "Running $GNOME_DOC_PREPARE..."
- $GNOME_DOC_PREPARE --force --copy || exit 1
- fi
-
- # Now run aclocal to pull in any additional macros needed
-
- # if the AC_CONFIG_MACRO_DIR() macro is used, pass that
- # directory to aclocal.
- m4dir=`cat "$basename" | grep '^AC_CONFIG_MACRO_DIR' | sed -n -e 's/AC_CONFIG_MACRO_DIR(\([^()]*\))/\1/p' | sed -e 's/^\[\(.*\)\]$/\1/' | sed -e 1q`
- if [ -n "$m4dir" ]; then
- m4dir="-I $m4dir"
- fi
- printbold "Running $ACLOCAL..."
- $ACLOCAL $m4dir $ACLOCAL_FLAGS || exit 1
-
- if grep "GNOME_AUTOGEN_OBSOLETE" aclocal.m4 >/dev/null; then
- printerr "*** obsolete gnome macros were used in $configure_ac"
- fi
-
- # Now that all the macros are sorted, run autoconf and autoheader ...
- printbold "Running $AUTOCONF..."
- $AUTOCONF || exit 1
- if grep "^A[CM]_CONFIG_HEADER" $basename >/dev/null; then
- printbold "Running $AUTOHEADER..."
- $AUTOHEADER || exit 1
- # this prevents automake from thinking config.h.in is out of
- # date, since autoheader doesn't touch the file if it doesn't
- # change.
- test -f config.h.in && touch config.h.in
- fi
-
- # Finally, run automake to create the makefiles ...
- printbold "Running $AUTOMAKE..."
- if [ -f COPYING ]; then
- cp -pf COPYING COPYING.autogen_bak
- fi
- if [ -f INSTALL ]; then
- cp -pf INSTALL INSTALL.autogen_bak
- fi
- if [ $REQUIRED_AUTOMAKE_VERSION != 1.4 ]; then
- $AUTOMAKE --gnu --add-missing --copy -Wno-portability || exit 1
- else
- $AUTOMAKE --gnu --add-missing --copy || exit 1
- fi
- if [ -f COPYING.autogen_bak ]; then
- cmp COPYING COPYING.autogen_bak > /dev/null || cp -pf COPYING.autogen_bak COPYING
- rm -f COPYING.autogen_bak
- fi
- if [ -f INSTALL.autogen_bak ]; then
- cmp INSTALL INSTALL.autogen_bak > /dev/null || cp -pf INSTALL.autogen_bak INSTALL
- rm -f INSTALL.autogen_bak
- fi
-
- cd "$topdir"
- fi
-done
-
-conf_flags=""
-
-if $want_maintainer_mode; then
- conf_flags="--enable-maintainer-mode"
-fi
-
-if test x$NOCONFIGURE = x; then
- printbold Running $srcdir/configure $conf_flags "$@" ...
- $srcdir/configure $conf_flags "$@" \
- && echo Now type \`make\' to compile $PKG_NAME || exit 1
-else
- echo Skipping configure process.
-fi
diff --git a/community/cinnamon/PKGBUILD b/community/cinnamon/PKGBUILD
index f4fecd1a7..a16839508 100644
--- a/community/cinnamon/PKGBUILD
+++ b/community/cinnamon/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 87446 2013-03-31 19:54:32Z faidoc $
+# $Id: PKGBUILD 88709 2013-04-22 00:29:56Z bgyorgy $
# Maintainer: Alexandre Filgueira
# Contributor: M0Rf30
# Contributor: unifiedlinux
# Contributor: CReimer
pkgname=cinnamon
-pkgver=1.7.3
+pkgver=1.7.4
pkgrel=2
pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
arch=('i686' 'x86_64')
@@ -13,8 +13,9 @@ url="http://cinnamon.linuxmint.com/"
license=('GPL2')
depends=('accountsservice' 'caribou' 'clutter-gtk' 'gjs' 'gnome-bluetooth'
'gnome-icon-theme' 'gnome-menus' 'gnome-settings-daemon' 'gnome-session'
- 'gnome-themes-standard' 'gstreamer0.10' 'networkmanager' 'muffin' 'python2-dbus'
- 'python2-gconf' 'python2-imaging' 'python2-pyinotify' 'python2-lxml' 'webkitgtk3')
+ 'gnome-themes-standard' 'gstreamer0.10' 'libgnome-keyring' 'librsvg'
+ 'networkmanager' 'muffin' 'pygtk' 'python2-dbus' 'python2-imaging'
+ 'python2-pyinotify' 'python2-lxml' 'webkitgtk3')
makedepends=('gnome-common' 'intltool')
optdepends=('cinnamon-control-center: extended configurations for Cinnamon'
'cinnamon-screensaver: lock screen'
@@ -26,15 +27,21 @@ install=${pkgname}.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/tarball/$pkgver"
"keyboard_applet.patch"
"fix-control-center-check.patch"
- "fix-keyboard-settings.patch")
-md5sums=('c733e2a2280508aecf3ee010587e6743'
+ "gnome-3.8.patch")
+md5sums=('95260dc968ca9be32c265b35df2dd49d'
'2b1ece84416c3e4de030be15f1774d82'
'c3f25b06d345d9d36c197cd96e08f496'
- 'c36138eddde544b5c27b66d19451e7a5')
+ 'cf2efbe1a5c48e1be53a0e8e4b7c3181')
build() {
cd ${srcdir}/linuxmint-Cinnamon*
+ # Python2 fix
+ sed -i 's|#! /usr/bin/python|#! /usr/bin/python2|' \
+ files/usr/bin/$pkgname-menu-editor \
+ files/usr/share/$pkgname/applets/panel-launchers@$pkgname.org/$pkgname-add-panel-launcher.py
+ find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
# Fix Keyboard applet
# https://github.com/linuxmint/Cinnamon/issues/1337
patch -Np1 -i ${srcdir}/keyboard_applet.patch
@@ -42,9 +49,8 @@ build() {
# Check for the cc-panel path, not for the unneeded binary
patch -Np1 -i ${srcdir}/fix-control-center-check.patch
- # Fix Keyboard settings (https://bugs.archlinux.org/task/34472)
- patch -Np1 -i ${srcdir}/fix-keyboard-settings.patch
-
+ # https://github.com/linuxmint/Cinnamon/pull/1888
+ patch -Np1 -i ${srcdir}/gnome-3.8.patch
./autogen.sh --prefix=/usr \
--sysconfdir=/etc \
@@ -54,31 +60,10 @@ build() {
--disable-schemas-compile \
--enable-compile-warnings=yes \
--with-session-tracking=systemd
-
make
}
package() {
cd ${srcdir}/linuxmint-Cinnamon*
make DESTDIR="${pkgdir}" install
-
- # Install autostart files for gnome-fallback-mount-helper
- install -Dm644 /etc/xdg/autostart/gnome-fallback-mount-helper.desktop \
- "${pkgdir}/etc/xdg/autostart/gnome-fallback-mount-helper-cinnamon.desktop"
- sed -i 's/^AutostartCondition=.*/AutostartCondition=GNOME3 if-session cinnamon/' \
- "${pkgdir}/etc/xdg/autostart/gnome-fallback-mount-helper-cinnamon.desktop"
-
- install -Dm644 /etc/xdg/autostart/gnome-fallback-mount-helper.desktop \
- "${pkgdir}/etc/xdg/autostart/gnome-fallback-mount-helper-cinnamon2d.desktop"
- sed -i 's/^AutostartCondition=.*/AutostartCondition=GNOME3 if-session cinnamon2d/' \
- "${pkgdir}/etc/xdg/autostart/gnome-fallback-mount-helper-cinnamon2d.desktop"
-
- # Python2 fix
- sed -i 's|#! /usr/bin/python|#! /usr/bin/python2|' \
- "${pkgdir}/usr/bin/$pkgname-menu-editor" \
- "${pkgdir}/usr/share/$pkgname/applets/panel-launchers@$pkgname.org/$pkgname-add-panel-launcher.py"
-
- find "${pkgdir}" -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
}
-
-
diff --git a/community/cinnamon/cinnamon.install b/community/cinnamon/cinnamon.install
index 901fd95c9..326aa98a2 100644
--- a/community/cinnamon/cinnamon.install
+++ b/community/cinnamon/cinnamon.install
@@ -2,28 +2,10 @@ post_install() {
glib-compile-schemas usr/share/glib-2.0/schemas
}
-pre_upgrade() {
- if [ -f /usr/share/gconf/schemas/cinnamon.schemas ]; then
- gconfpkg --uninstall cinnamon
- fi
-
- if [ "$(vercmp 1.6.7-6 "$2")" -eq 1 ]; then
- if [[ -h '/usr/lib/libgnome-desktop-3.so.2' ]]; then
- if [[ $(uname -m) == 'i686' ]]; then
- unlink /usr/lib/libgnome-desktop-3.so.2
- fi
- fi
- fi
-}
-
post_upgrade() {
post_install
}
-pre_remove() {
- pre_upgrade
-}
-
post_remove() {
post_install
}
diff --git a/community/cinnamon/fix-keyboard-settings.patch b/community/cinnamon/fix-keyboard-settings.patch
deleted file mode 100644
index b606939c9..000000000
--- a/community/cinnamon/fix-keyboard-settings.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 034f9c886a4b08e214193576b11fb97ba3d62922 Mon Sep 17 00:00:00 2001
-From: Lusito
-Date: Sun, 10 Mar 2013 21:01:07 +0100
-Subject: [PATCH] fix for broken keyboard settings
-
----
- files/usr/lib/cinnamon-settings/bin/SettingsWidgets.py | 2 +-
- files/usr/lib/cinnamon-settings/modules/cs_keyboard.py | 12 ++++++------
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/files/usr/lib/cinnamon-settings/bin/SettingsWidgets.py b/files/usr/lib/cinnamon-settings/bin/SettingsWidgets.py
-index b8842fe..cdccf46 100644
---- a/files/usr/lib/cinnamon-settings/bin/SettingsWidgets.py
-+++ b/files/usr/lib/cinnamon-settings/bin/SettingsWidgets.py
-@@ -9,7 +9,7 @@
- import gettext
- from gi.repository import Gio, Gtk, GObject, Gdk
- from gi.repository import GdkPixbuf
--# import gconf
-+ from gi.repository import GConf
- import json
- import dbus
- import time
-diff --git a/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py b/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py
-index 27a75ae..1ea8fd9 100644
---- a/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py
-+++ b/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py
-@@ -8,7 +8,7 @@
- gettext.install("cinnamon", "/usr/share/cinnamon/locale")
-
- # Keybindings page - check if we need to store custom
--# keybindings to gsettings key as well as gconf (In Mint 14 this is changed)
-+# keybindings to gsettings key as well as GConf (In Mint 14 this is changed)
- CUSTOM_KEYS_BASENAME = "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings"
- CUSTOM_KEYS_SCHEMA = "org.gnome.settings-daemon.plugins.media-keys.custom-keybinding"
- CUSTOM_KEYBINDINGS_GSETTINGS = False
-@@ -160,7 +160,7 @@ def __init__(self, content_box):
- first_run_completed = schema.get_boolean("custom-keybindings-to-3-6")
-
- if CUSTOM_KEYBINDINGS_GSETTINGS and not first_run_completed:
-- gclient = gconf.client_get_default()
-+ gclient = GConf.Client.get_default()
- path = "/desktop/gnome/keybindings"
- subdirs = gclient.all_dirs(path)
- for subdir in subdirs:
-@@ -251,7 +251,7 @@ def setBinding(self, index, val):
- self.writeSettings()
-
- def writeSettings(self):
-- gclient = gconf.client_get_default()
-+ gclient = GConf.Client.get_default()
- gclient.set_string(self.path + "/name", self.label)
- gclient.set_string(self.path + "/action", self.action)
- gclient.set_string(self.path + "/binding", self.entries[0])
-@@ -537,7 +537,7 @@ def loadCustoms(self):
- for category in self.main_store:
- if category.int_name is "custom":
- category.clear()
-- gclient = gconf.client_get_default()
-+ gclient = GConf.Client.get_default()
- path = "/desktop/gnome/keybindings"
- subdirs = gclient.all_dirs(path)
- for subdir in subdirs:
-@@ -645,7 +645,7 @@ def onAddCustomButtonClicked(self, button):
- dialog.destroy()
- return
-
-- gclient = gconf.client_get_default()
-+ gclient = GConf.Client.get_default()
- path = "/desktop/gnome/keybindings/custom"
- i = 0
- while gclient.dir_exists(path + str(i)):
-@@ -670,7 +670,7 @@ def onRemoveCustomButtonClicked(self, button):
- keybindings, iter = self.kb_tree.get_selection().get_selected()
- if iter:
- keybinding = keybindings[iter][1]
-- gclient = gconf.client_get_default()
-+ gclient = GConf.Client.get_default()
- if gclient.dir_exists(keybinding.path):
- gclient.unset(keybinding.path + "/name")
- gclient.unset(keybinding.path + "/action")
---
-1.8.1.5
diff --git a/community/cinnamon/gnome-3.8.patch b/community/cinnamon/gnome-3.8.patch
new file mode 100644
index 000000000..61cd9180f
--- /dev/null
+++ b/community/cinnamon/gnome-3.8.patch
@@ -0,0 +1,3669 @@
+From f4020d3960fa96a101bdb1c3ac1e1a452dbbf48c Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Fri, 19 Apr 2013 13:19:50 -0400
+Subject: [PATCH 01/15] Disable XInput on cinnamon startup (for 3.8 compat)
+ This has no effect on < 1.14 clutter
+
+---
+ src/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main.c b/src/main.c
+index 418fb60..ac90d91 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -260,6 +260,7 @@
+ meta_plugin_type_register (gnome_cinnamon_plugin_get_type ());
+
+ /* Prevent meta_init() from causing gtk to load gail and at-bridge */
++ g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
+ g_setenv ("NO_GAIL", "1", TRUE);
+ g_setenv ("NO_AT_BRIDGE", "1", TRUE);
+ meta_init ();
+--
+1.8.1.6
+
+
+From cc68659ecdd9e43128ec2b4555479f930c0d1ccd Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Fri, 19 Apr 2013 13:21:40 -0400
+Subject: [PATCH 02/15] Explain change
+
+---
+ src/main.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/main.c b/src/main.c
+index ac90d91..9d37975 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -257,10 +257,12 @@
+
+ g_option_context_free (ctx);
+
++ /* Disable XInput extension - required for 3.8 compatibility */
++ g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
++
+ meta_plugin_type_register (gnome_cinnamon_plugin_get_type ());
+
+ /* Prevent meta_init() from causing gtk to load gail and at-bridge */
+- g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
+ g_setenv ("NO_GAIL", "1", TRUE);
+ g_setenv ("NO_AT_BRIDGE", "1", TRUE);
+ meta_init ();
+--
+1.8.1.6
+
+
+From f3777b3b2733b965bd348c7175ee67ee268aee06 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Tue, 16 Apr 2013 17:01:30 -0400
+Subject: [PATCH 03/15] Add backgroundManager - this is needed for gnome 3.8
+ compatibility, as gnome-settings-daemon no longer handles the desktop
+ background.
+
+---
+ configure.ac | 7 +-
+ data/org.cinnamon.gschema.xml.in | 71 +++-
+ .../cinnamon-settings/modules/cs_backgrounds.py | 31 +-
+ js/ui/main.js | 3 +-
+ src/Makefile.am | 2 +
+ src/cinnamon-background-manager.c | 411 +++++++++++++++++++++
+ src/cinnamon-background-manager.h | 57 +++
+ 7 files changed, 562 insertions(+), 20 deletions(-)
+ create mode 100644 src/cinnamon-background-manager.c
+ create mode 100644 src/cinnamon-background-manager.h
+
+diff --git a/configure.ac b/configure.ac
+index 0aa47c5..a2a9479 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -68,6 +68,7 @@ GTK_MIN_VERSION=3.0.0
+ GIO_MIN_VERSION=2.29.10
+ POLKIT_MIN_VERSION=0.100
+ STARTUP_NOTIFICATION_MIN_VERSION=0.11
++GNOME_DESKTOP_MIN_VERSION=3.0.0
+
+ # Collect more than 20 libraries for a prize!
+ PKG_CHECK_MODULES(CINNAMON, gio-2.0 >= $GIO_MIN_VERSION
+@@ -82,7 +83,8 @@ PKG_CHECK_MODULES(CINNAMON, gio-2.0 >= $GIO_MIN_VERSION
+ gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION
+ libcanberra
+ polkit-agent-1 >= $POLKIT_MIN_VERSION xfixes
+- libnm-glib libnm-util gnome-keyring-1)
++ libnm-glib libnm-util gnome-keyring-1
++ gnome-desktop-3.0 >= GNOME_DESKTOP_MIN_VERSION)
+
+ PKG_CHECK_MODULES(CINNAMON_PERF_HELPER, gtk+-3.0 gio-2.0)
+
+@@ -106,7 +108,8 @@ AC_CHECK_FUNCS(JS_NewGlobalObject XFixesCreatePointerBarrier)
+ CFLAGS=$saved_CFLAGS
+ LIBS=$saved_LIBS
+
+-PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.2 gnome-desktop-3.0 >= 2.90.0 x11)
++PKG_CHECK_MODULES(ST, clutter-1.0 gtk+-3.0 libcroco-0.6 >= 0.6.2
++ gnome-desktop-3.0 >= GNOME_DESKTOP_MIN_VERSION x11)
+ PKG_CHECK_MODULES(GDMUSER, dbus-glib-1 gtk+-3.0)
+ PKG_CHECK_MODULES(TRAY, gtk+-3.0)
+ PKG_CHECK_MODULES(GVC, libpulse libpulse-mainloop-glib gobject-2.0)
+diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
+index ffbad92..6f55477 100644
+--- a/data/org.cinnamon.gschema.xml.in
++++ b/data/org.cinnamon.gschema.xml.in
+@@ -720,6 +720,23 @@
+
+
+
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
+
+
+ "wallpaper"
+@@ -750,8 +767,60 @@
+ This key defines the delay for the slideshow.
+
+
++
++ true
++ <_summary>Draw Desktop Background
++ <_description>Have GNOME draw the desktop background.
++
++
++ 'zoom'
++ <_summary>Picture Options
++ <_description>
++ Determines how the image set by wallpaper_filename is rendered.
++ Possible values are "none", "wallpaper", "centered", "scaled",
++ "stretched", "zoom", "spanned".
++
++
++
++ 'file://@datadir@/themes/Adwaita/backgrounds/adwaita-timed.xml'
++ <_summary>Picture URI
++ <_description>
++ URI to use for the background image. Not that the backend only supports
++ local (file://) URIs.
++
++
++
++
++ 100
++ <_summary>Picture Opacity
++ <_description>
++ Opacity with which to draw the background picture.
++
++
++
++ '#023c88'
++ <_summary>Primary Color
++ <_description>
++ Left or Top color when drawing gradients, or the solid color.
++
++
++
++ '#5789ca'
++ <_summary>Secondary Color
++ <_description>
++ Right or Bottom color when drawing gradients, not used for solid color.
++
++
++
++ 'solid'
++ <_summary>Color Shading Type
++ <_description>
++ How to shade the background color. Possible values are "horizontal",
++ "vertical", and "solid".
++
++
+
+-
++
+
+
+ ""
+diff --git a/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py b/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py
+index f964aed..4a38c84 100644
+--- a/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py
++++ b/files/usr/lib/cinnamon-settings/modules/cs_backgrounds.py
+@@ -232,11 +232,11 @@ def getFirstFileFromBackgroundXml(self, filename):
+
+
+ class BackgroundWallpaperPane (Gtk.VBox):
+- def __init__(self, sidepage, gnome_background_schema):
++ def __init__(self, sidepage, cinnamon_background_schema):
+ Gtk.VBox.__init__(self)
+ self.set_spacing(5)
+
+- self._gnome_background_schema = gnome_background_schema
++ self._cinnamon_background_schema = cinnamon_background_schema
+ self._sidepage = sidepage
+
+ scw = Gtk.ScrolledWindow()
+@@ -263,15 +263,15 @@ def _on_selection_changed(self, iconview):
+ if wallpaper:
+ for key in wallpaper:
+ if key == "filename":
+- self._gnome_background_schema.set_string("picture-uri", "file://" + wallpaper[key])
++ self._cinnamon_background_schema.set_string("picture-uri", "file://" + wallpaper[key])
+ elif key == "pcolor":
+- self._gnome_background_schema.set_string("primary-color", wallpaper[key])
++ self._cinnamon_background_schema.set_string("primary-color", wallpaper[key])
+ elif key == "scolor":
+- self._gnome_background_schema.set_string("secondary-color", wallpaper[key])
++ self._cinnamon_background_schema.set_string("secondary-color", wallpaper[key])
+ elif key == "shade_type":
+- self._gnome_background_schema.set_string("color-shading-type", wallpaper[key])
++ self._cinnamon_background_schema.set_string("color-shading-type", wallpaper[key])
+ elif key == "options":
+- self._gnome_background_schema.set_string("picture-options", wallpaper[key])
++ self._cinnamon_background_schema.set_string("picture-options", wallpaper[key])
+ if (not "metadataFile" in wallpaper) or (wallpaper["metadataFile"] == ""):
+ self._sidepage.remove_wallpaper_button.set_sensitive(True)
+
+@@ -364,7 +364,7 @@ def run(self):
+ return res
+
+ class BackgroundSlideshowPane(Gtk.Table):
+- def __init__(self, sidepage, gnome_background_schema, cinnamon_background_schema):
++ def __init__(self, sidepage, cinnamon_background_schema):
+ Gtk.Table.__init__(self)
+ self.set_col_spacings(5)
+ self.set_row_spacings(5)
+@@ -445,12 +445,11 @@ def _do_update_list(self, folder, recursive, delay, transition_duration = 0):
+ f = open(filename, "w")
+ f.write(xml_data)
+ f.close()
+- Gio.Settings("org.gnome.desktop.background").set_string("picture-uri", "file://" + filename)
++ Gio.Settings("org.cinnamon.background").set_string("picture-uri", "file://" + filename)
+
+ class BackgroundSidePage (SidePage):
+ def __init__(self, name, icon, keywords, advanced, content_box):
+ SidePage.__init__(self, name, icon, keywords, advanced, content_box)
+- self._gnome_background_schema = Gio.Settings("org.gnome.desktop.background")
+ self._cinnamon_background_schema = Gio.Settings("org.cinnamon.background")
+ self._add_wallpapers_dialog = AddWallpapersDialog()
+
+@@ -515,8 +514,8 @@ def build(self, advanced):
+ self.mainbox.set_visible_window(False)
+ self.content_box.pack_start(self.mainbox, True, True, 3)
+
+- self.wallpaper_pane = BackgroundWallpaperPane(self, self._gnome_background_schema)
+- self.slideshow_pane = BackgroundSlideshowPane(self, self._gnome_background_schema, self._cinnamon_background_schema)
++ self.wallpaper_pane = BackgroundWallpaperPane(self, self._cinnamon_background_schema)
++ self.slideshow_pane = BackgroundSlideshowPane(self, self._cinnamon_background_schema)
+ if self._cinnamon_background_schema["mode"] == "slideshow":
+ self.mainbox.add(self.slideshow_pane)
+ else:
+@@ -536,21 +535,21 @@ def build(self, advanced):
+ l = Gtk.Label(_("Picture aspect"))
+ l.set_alignment(0, 0.5)
+ advanced_options_box.pack_start(l, False, False, 0)
+- self.picture_options = GSettingsComboBox("", "org.gnome.desktop.background", "picture-options", None, BACKGROUND_PICTURE_OPTIONS)
++ self.picture_options = GSettingsComboBox("", "org.cinnamon.background", "picture-options", None, BACKGROUND_PICTURE_OPTIONS)
+ advanced_options_box.pack_start(self.picture_options, False, False, 0)
+
+ l = Gtk.Label(_("Gradient"))
+ l.set_alignment(0, 0.5)
+ advanced_options_box.pack_start(l, False, False, 0)
+- self.color_shading_type = GSettingsComboBox("", "org.gnome.desktop.background", "color-shading-type", None, BACKGROUND_COLOR_SHADING_TYPES)
++ self.color_shading_type = GSettingsComboBox("", "org.cinnamon.background", "color-shading-type", None, BACKGROUND_COLOR_SHADING_TYPES)
+ advanced_options_box.pack_start(self.color_shading_type, False, False, 0)
+
+ hbox = Gtk.HBox()
+ l = Gtk.Label(_("Colors"))
+ hbox.pack_start(l, False, False, 2)
+- self.primary_color = GSettingsColorChooser("org.gnome.desktop.background", "primary-color", None)
++ self.primary_color = GSettingsColorChooser("org.cinnamon.background", "primary-color", None)
+ hbox.pack_start(self.primary_color, False, False, 2)
+- self.secondary_color = GSettingsColorChooser("org.gnome.desktop.background", "secondary-color", None)
++ self.secondary_color = GSettingsColorChooser("org.cinnamon.background", "secondary-color", None)
+ hbox.pack_start(self.secondary_color, False, False, 2)
+ advanced_options_box.pack_start(hbox, False, False, 0)
+ self.content_box.show_all()
+diff --git a/js/ui/main.js b/js/ui/main.js
+index 11920a4..5cae372 100644
+--- a/js/ui/main.js
++++ b/js/ui/main.js
+@@ -86,6 +86,7 @@ let _cssStylesheet = null;
+ let dynamicWorkspaces = null;
+ let nWorks = null;
+ let tracker = null;
++let backgroundManager = null;
+ let desktopShown;
+
+ let workspace_names = [];
+@@ -214,7 +215,7 @@ function start() {
+ // be predictable anyways.
+ tracker = Cinnamon.WindowTracker.get_default();
+ Cinnamon.AppUsage.get_default();
+-
++ backgroundManager = Cinnamon.BackgroundManager.get_default();
+ // The stage is always covered so Clutter doesn't need to clear it; however
+ // the color is used as the default contents for the Muffin root background
+ // actor so set it anyways.
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 51413aa..6efce18 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -105,6 +105,7 @@ cinnamon_public_headers_h = \
+ cinnamon-app-system.h \
+ cinnamon-app-usage.h \
+ cinnamon-arrow.h \
++ cinnamon-background-manager.h \
+ cinnamon-doc-system.h \
+ cinnamon-embedded-window.h \
+ cinnamon-generic-container.h \
+@@ -142,6 +143,7 @@ libcinnamon_la_SOURCES = \
+ cinnamon-app-system.c \
+ cinnamon-app-usage.c \
+ cinnamon-arrow.c \
++ cinnamon-background-manager.c \
+ cinnamon-doc-system.c \
+ cinnamon-embedded-window.c \
+ cinnamon-generic-container.c \
+diff --git a/src/cinnamon-background-manager.c b/src/cinnamon-background-manager.c
+new file mode 100644
+index 0000000..9d95250
+--- /dev/null
++++ b/src/cinnamon-background-manager.c
+@@ -0,0 +1,411 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright © 2001 Ximian, Inc.
++ * Copyright (C) 2007 William Jon McCann
++ * Copyright 2007 Red Hat, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ */
++
++#include "config.h"
++
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++
++#include
++
++#include
++#include
++#include
++#include
++#include
++
++#define GNOME_DESKTOP_USE_UNSTABLE_API
++#include
++#include
++
++#include "cinnamon-background-manager.h"
++
++#define CINNAMON_BACKGROUND_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManagerPrivate))
++
++struct CinnamonBackgroundManagerPrivate
++{
++ GSettings *settings;
++ GnomeBG *bg;
++
++ GnomeBGCrossfade *fade;
++
++ GDBusProxy *proxy;
++ guint proxy_signal_id;
++};
++
++static void cinnamon_background_manager_class_init (CinnamonBackgroundManagerClass *klass);
++static void cinnamon_background_manager_init (CinnamonBackgroundManager *background_manager);
++static void cinnamon_background_manager_finalize (GObject *object);
++
++static void setup_bg (CinnamonBackgroundManager *manager);
++static void connect_screen_signals (CinnamonBackgroundManager *manager);
++
++G_DEFINE_TYPE (CinnamonBackgroundManager, cinnamon_background_manager, G_TYPE_OBJECT)
++
++static gpointer manager_object = NULL;
++
++static gboolean
++dont_draw_background (CinnamonBackgroundManager *manager)
++{
++ return !g_settings_get_boolean (manager->priv->settings,
++ "draw-background");
++}
++
++static void
++on_crossfade_finished (CinnamonBackgroundManager *manager)
++{
++ g_object_unref (manager->priv->fade);
++ manager->priv->fade = NULL;
++}
++
++static void
++draw_background (CinnamonBackgroundManager *manager,
++ gboolean use_crossfade)
++{
++ GdkDisplay *display;
++ int n_screens;
++ int i;
++
++ display = gdk_display_get_default ();
++ n_screens = gdk_display_get_n_screens (display);
++
++ for (i = 0; i < n_screens; ++i) {
++ GdkScreen *screen;
++ GdkWindow *root_window;
++ cairo_surface_t *surface;
++
++ screen = gdk_display_get_screen (display, i);
++
++ root_window = gdk_screen_get_root_window (screen);
++
++ surface = gnome_bg_create_surface (manager->priv->bg,
++ root_window,
++ gdk_screen_get_width (screen),
++ gdk_screen_get_height (screen),
++ TRUE);
++
++ if (use_crossfade) {
++
++ if (manager->priv->fade != NULL) {
++ g_object_unref (manager->priv->fade);
++ }
++
++ manager->priv->fade = gnome_bg_set_surface_as_root_with_crossfade (screen, surface);
++ g_signal_connect_swapped (manager->priv->fade, "finished",
++ G_CALLBACK (on_crossfade_finished),
++ manager);
++ } else {
++ gnome_bg_set_surface_as_root (screen, surface);
++ }
++
++ cairo_surface_destroy (surface);
++ }
++}
++
++static void
++on_bg_transitioned (GnomeBG *bg,
++ CinnamonBackgroundManager *manager)
++{
++ draw_background (manager, FALSE);
++}
++
++static gboolean
++settings_change_event_cb (GSettings *settings,
++ gpointer keys,
++ gint n_keys,
++ CinnamonBackgroundManager *manager)
++{
++ gnome_bg_load_from_preferences (manager->priv->bg,
++ manager->priv->settings);
++ return FALSE;
++}
++
++static void
++on_screen_size_changed (GdkScreen *screen,
++ CinnamonBackgroundManager *manager)
++{
++ draw_background (manager, FALSE);
++}
++
++static void
++watch_bg_preferences (CinnamonBackgroundManager *manager)
++{
++ g_signal_connect (manager->priv->settings,
++ "change-event",
++ G_CALLBACK (settings_change_event_cb),
++ manager);
++}
++
++static void
++on_bg_changed (GnomeBG *bg,
++ CinnamonBackgroundManager *manager)
++{
++ draw_background (manager, TRUE);
++}
++
++static void
++setup_bg (CinnamonBackgroundManager *manager)
++{
++ g_return_if_fail (manager->priv->bg == NULL);
++
++ manager->priv->bg = gnome_bg_new ();
++
++ g_signal_connect (manager->priv->bg,
++ "changed",
++ G_CALLBACK (on_bg_changed),
++ manager);
++
++ g_signal_connect (manager->priv->bg,
++ "transitioned",
++ G_CALLBACK (on_bg_transitioned),
++ manager);
++
++ connect_screen_signals (manager);
++ watch_bg_preferences (manager);
++ gnome_bg_load_from_preferences (manager->priv->bg,
++ manager->priv->settings);
++}
++
++static void
++setup_bg_and_draw_background (CinnamonBackgroundManager *manager)
++{
++ setup_bg (manager);
++ draw_background (manager, FALSE);
++}
++
++static void
++disconnect_session_manager_listener (CinnamonBackgroundManager *manager)
++{
++ if (manager->priv->proxy && manager->priv->proxy_signal_id) {
++ g_signal_handler_disconnect (manager->priv->proxy,
++ manager->priv->proxy_signal_id);
++ manager->priv->proxy_signal_id = 0;
++ }
++}
++
++static void
++on_session_manager_signal (GDBusProxy *proxy,
++ const gchar *sender_name,
++ const gchar *signal_name,
++ GVariant *parameters,
++ gpointer user_data)
++{
++ CinnamonBackgroundManager *manager = CINNAMON_BACKGROUND_MANAGER (user_data);
++
++ if (g_strcmp0 (signal_name, "SessionRunning") == 0) {
++ setup_bg_and_draw_background (manager);
++ disconnect_session_manager_listener (manager);
++ }
++}
++
++static void
++draw_background_after_session_loads (CinnamonBackgroundManager *manager)
++{
++ GError *error = NULL;
++ GDBusProxyFlags flags;
++
++ flags = G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
++ G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START;
++ manager->priv->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
++ flags,
++ NULL, /* GDBusInterfaceInfo */
++ "org.gnome.SessionManager",
++ "/org/gnome/SessionManager",
++ "org.gnome.SessionManager",
++ NULL, /* GCancellable */
++ &error);
++ if (manager->priv->proxy == NULL) {
++ g_warning ("Could not listen to session manager: %s",
++ error->message);
++ g_error_free (error);
++ return;
++ }
++
++ manager->priv->proxy_signal_id = g_signal_connect (manager->priv->proxy,
++ "g-signal",
++ G_CALLBACK (on_session_manager_signal),
++ manager);
++}
++
++
++static void
++disconnect_screen_signals (CinnamonBackgroundManager *manager)
++{
++ GdkDisplay *display;
++ int i;
++ int n_screens;
++
++ display = gdk_display_get_default ();
++ n_screens = gdk_display_get_n_screens (display);
++
++ for (i = 0; i < n_screens; ++i) {
++ GdkScreen *screen;
++ screen = gdk_display_get_screen (display, i);
++ g_signal_handlers_disconnect_by_func (screen,
++ G_CALLBACK (on_screen_size_changed),
++ manager);
++ }
++}
++
++static void
++connect_screen_signals (CinnamonBackgroundManager *manager)
++{
++ GdkDisplay *display;
++ int i;
++ int n_screens;
++
++ display = gdk_display_get_default ();
++ n_screens = gdk_display_get_n_screens (display);
++
++ for (i = 0; i < n_screens; ++i) {
++ GdkScreen *screen;
++ screen = gdk_display_get_screen (display, i);
++ g_signal_connect (screen,
++ "monitors-changed",
++ G_CALLBACK (on_screen_size_changed),
++ manager);
++ g_signal_connect (screen,
++ "size-changed",
++ G_CALLBACK (on_screen_size_changed),
++ manager);
++ }
++}
++
++static void
++draw_background_changed (GSettings *settings,
++ const char *key,
++ CinnamonBackgroundManager *manager)
++{
++ if (dont_draw_background (manager) == FALSE)
++ setup_bg_and_draw_background (manager);
++}
++
++gboolean
++cinnamon_background_manager_start (CinnamonBackgroundManager *manager)
++{
++ manager->priv->settings = g_settings_new ("org.cinnamon.background");
++ g_signal_connect (manager->priv->settings, "changed::draw-background",
++ G_CALLBACK (draw_background_changed), manager);
++
++ setup_bg_and_draw_background (manager);
++ //draw_background_after_session_loads (manager);
++
++
++ return TRUE;
++}
++
++void
++cinnamon_background_manager_stop (CinnamonBackgroundManager *manager)
++{
++ CinnamonBackgroundManagerPrivate *p = manager->priv;
++
++ g_debug ("Stopping background manager");
++
++ disconnect_screen_signals (manager);
++
++ if (manager->priv->proxy) {
++ disconnect_session_manager_listener (manager);
++ g_object_unref (manager->priv->proxy);
++ }
++
++ g_signal_handlers_disconnect_by_func (manager->priv->settings,
++ settings_change_event_cb,
++ manager);
++
++ if (p->settings != NULL) {
++ g_object_unref (p->settings);
++ p->settings = NULL;
++ }
++
++ if (p->bg != NULL) {
++ g_object_unref (p->bg);
++ p->bg = NULL;
++ }
++}
++
++/**
++ * cinnamon_background_manager_get_default:
++ *
++ * Return Value: (transfer none): The global #CinnamonBackgroundManager singleton
++ */
++CinnamonBackgroundManager *
++cinnamon_background_manager_get_default ()
++{
++ static CinnamonBackgroundManager *instance = NULL;
++
++ if (instance == NULL)
++ instance = g_object_new (CINNAMON_TYPE_BACKGROUND_MANAGER, NULL);
++
++ return instance;
++}
++
++static GObject *
++cinnamon_background_manager_constructor (GType type,
++ guint n_construct_properties,
++ GObjectConstructParam *construct_properties)
++{
++ CinnamonBackgroundManager *background_manager;
++
++ background_manager = CINNAMON_BACKGROUND_MANAGER (G_OBJECT_CLASS (cinnamon_background_manager_parent_class)->constructor (type,
++ n_construct_properties,
++ construct_properties));
++
++ return G_OBJECT (background_manager);
++}
++
++static void
++cinnamon_background_manager_class_init (CinnamonBackgroundManagerClass *klass)
++{
++ GObjectClass *object_class = G_OBJECT_CLASS (klass);
++
++ object_class->constructor = cinnamon_background_manager_constructor;
++ object_class->finalize = cinnamon_background_manager_finalize;
++
++ g_type_class_add_private (klass, sizeof (CinnamonBackgroundManagerPrivate));
++}
++
++static void
++cinnamon_background_manager_init (CinnamonBackgroundManager *manager)
++{
++ manager->priv = CINNAMON_BACKGROUND_MANAGER_GET_PRIVATE (manager);
++ cinnamon_background_manager_start (manager);
++}
++
++static void
++cinnamon_background_manager_finalize (GObject *object)
++{
++ CinnamonBackgroundManager *background_manager;
++
++ g_return_if_fail (object != NULL);
++ g_return_if_fail (CINNAMON_IS_BACKGROUND_MANAGER (object));
++
++ background_manager = CINNAMON_BACKGROUND_MANAGER (object);
++
++ g_return_if_fail (background_manager->priv != NULL);
++
++ G_OBJECT_CLASS (cinnamon_background_manager_parent_class)->finalize (object);
++}
+diff --git a/src/cinnamon-background-manager.h b/src/cinnamon-background-manager.h
+new file mode 100644
+index 0000000..9a56e32
+--- /dev/null
++++ b/src/cinnamon-background-manager.h
+@@ -0,0 +1,57 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2007 William Jon McCann
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ *
++ */
++
++#ifndef __CINNAMON_BACKGROUND_MANAGER_H
++#define __CINNAMON_BACKGROUND_MANAGER_H
++
++#include
++
++G_BEGIN_DECLS
++
++#define CINNAMON_TYPE_BACKGROUND_MANAGER (cinnamon_background_manager_get_type ())
++#define CINNAMON_BACKGROUND_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManager))
++#define CINNAMON_BACKGROUND_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManagerClass))
++#define CINNAMON_IS_BACKGROUND_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CINNAMON_TYPE_BACKGROUND_MANAGER))
++#define CINNAMON_IS_BACKGROUND_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CINNAMON_TYPE_BACKGROUND_MANAGER))
++#define CINNAMON_BACKGROUND_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CINNAMON_TYPE_BACKGROUND_MANAGER, CinnamonBackgroundManagerClass))
++
++typedef struct CinnamonBackgroundManagerPrivate CinnamonBackgroundManagerPrivate;
++
++typedef struct
++{
++ GObject parent;
++ CinnamonBackgroundManagerPrivate *priv;
++} CinnamonBackgroundManager;
++
++typedef struct
++{
++ GObjectClass parent_class;
++} CinnamonBackgroundManagerClass;
++
++GType cinnamon_background_manager_get_type (void);
++
++CinnamonBackgroundManager *cinnamon_background_manager_get_default (void);
++
++gboolean cinnamon_background_manager_start (CinnamonBackgroundManager *manager);
++void cinnamon_background_manager_stop (CinnamonBackgroundManager *manager);
++
++G_END_DECLS
++
++#endif /* __CINNAMON_BACKGROUND_MANAGER_H */
+--
+1.8.1.6
+
+
+From 590a48961f2c7a1b18fb914a1d7212ffcdf03017 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Tue, 16 Apr 2013 18:28:16 -0400
+Subject: [PATCH 04/15] Change default background
+
+---
+ data/org.cinnamon.gschema.xml.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
+index 6f55477..35b0972 100644
+--- a/data/org.cinnamon.gschema.xml.in
++++ b/data/org.cinnamon.gschema.xml.in
+@@ -782,7 +782,7 @@
+
+
+
+- 'file://@datadir@/themes/Adwaita/backgrounds/adwaita-timed.xml'
++ 'file:///usr/share/backgrounds/linuxmint/default_background.jpg'
+ <_summary>Picture URI
+ <_description>
+ URI to use for the background image. Not that the backend only supports
+--
+1.8.1.6
+
+
+From ac8b0954c7506ae88059e488539f88d55329f070 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Tue, 16 Apr 2013 18:41:16 -0400
+Subject: [PATCH 05/15] Use distro-agnostic background..
+
+---
+ data/org.cinnamon.gschema.xml.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/org.cinnamon.gschema.xml.in b/data/org.cinnamon.gschema.xml.in
+index 35b0972..0d01089 100644
+--- a/data/org.cinnamon.gschema.xml.in
++++ b/data/org.cinnamon.gschema.xml.in
+@@ -782,7 +782,7 @@
+
+
+
+- 'file:///usr/share/backgrounds/linuxmint/default_background.jpg'
++ 'file:///usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml'
+ <_summary>Picture URI
+ <_description>
+ URI to use for the background image. Not that the backend only supports
+--
+1.8.1.6
+
+
+From 81dbccb60231744999463a5b84c7c36358570929 Mon Sep 17 00:00:00 2001
+From: dalcde
+Date: Mon, 15 Apr 2013 18:34:48 +0800
+Subject: [PATCH 06/15] [GDbus] Port DBus to GDBus (AltLinux patch)
+
+---
+ .../applets/brightness@cinnamon.org/applet.js | 39 ++--
+ .../cinnamon/applets/power@cinnamon.org/applet.js | 102 +++++----
+ .../cinnamon/applets/sound@cinnamon.org/applet.js | 244 +++++----------------
+ .../cinnamon/applets/xrandr@cinnamon.org/applet.js | 19 +-
+ js/misc/gnomeSession.js | 147 ++++---------
+ js/misc/modemManager.js | 79 ++++---
+ js/misc/screenSaver.js | 89 ++++----
+ js/ui/appletManager.js | 1 -
+ js/ui/automountManager.js | 106 +++++----
+ js/ui/autorunManager.js | 27 +--
+ js/ui/calendar.js | 71 +++---
+ js/ui/cinnamonDBus.js | 96 ++++----
+ js/ui/endSessionDialog.js | 79 ++++---
+ js/ui/keyboard.js | 48 ++--
+ js/ui/layout.js | 14 +-
+ js/ui/magnifierDBus.js | 134 +++++++----
+ js/ui/main.js | 6 -
+ js/ui/messageTray.js | 13 +-
+ js/ui/notificationDaemon.js | 193 ++++++++--------
+ js/ui/scripting.js | 34 ++-
+ 20 files changed, 688 insertions(+), 853 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js
+index 9cbda80..9087b25 100644
+--- a/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/brightness@cinnamon.org/applet.js
+@@ -5,7 +5,6 @@ const St = imports.gi.St;
+ const PopupMenu = imports.ui.popupMenu;
+ const GLib = imports.gi.GLib;
+ const Gio = imports.gi.Gio;
+-const DBus = imports.dbus;
+
+ /* constants */
+ const DimSettingsSchema = "org.gnome.settings-daemon.plugins.power";
+@@ -14,24 +13,25 @@ const DimSettingsBattery = "idle-dim-battery";
+ const PowerBusName = 'org.gnome.SettingsDaemon';
+ const PowerObjectPath = '/org/gnome/SettingsDaemon/Power';
+
+-/* DBus interface */
+-const PowerManagerInterface = {
+- name: 'org.gnome.SettingsDaemon.Power.Screen',
+- methods:
+- [
+- { name: 'GetPercentage', inSignature: '', outSignature: 'u' },
+- { name: 'SetPercentage', inSignature: 'u', outSignature: 'u' },
+- { name: 'StepUp', inSignature: '', outSignature: 'u' },
+- { name: 'StepDown', inSignature: '', outSignature: 'u' },
+- ],
+- signals:
+- [
+- { name: 'Changed', inSignature: '', outSignature: '' },
+- ]
+-};
++const PowerManagerInterface =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
+
+ /* DBus magic */
+-let PowerManagerProxy = DBus.makeProxyClass(PowerManagerInterface);
++const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(PowerManagerInterface);
+
+ /* TextImageMenuItem taken from sound@cinnamon.org applet */
+ let icon_path = "/usr/share/cinnamon/theme/";
+@@ -100,7 +100,7 @@ MyApplet.prototype = {
+ Applet.IconApplet.prototype._init.call(this, orientation, panel_height);
+
+ try {
+- this._proxy = new PowerManagerProxy(DBus.session, PowerBusName, PowerObjectPath);
++ this._proxy = new PowerManagerProxy(Gio.DBus.session, PowerBusName, PowerObjectPath);
+
+ this.menuManager = new PopupMenu.PopupMenuManager(this);
+ this.menu = new Applet.AppletPopupMenu(this, orientation);
+@@ -137,7 +137,8 @@ MyApplet.prototype = {
+ this.menu.addMenuItem(this._settingsMenu);
+
+ //get notified
+- this._proxy.connect('Changed', Lang.bind(this, this._getBrightness));
++ this._proxy.connectSignal('Changed', Lang.bind(this, this._getBrightness));
++
+ this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
+ } else {
+ this.set_applet_tooltip(_("Brightness"));
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index c342fe7..b6b2bcd 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -1,6 +1,5 @@
+ const Applet = imports.ui.applet;
+ const Gio = imports.gi.Gio;
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+ const St = imports.gi.St;
+ const PopupMenu = imports.ui.popupMenu;
+@@ -42,34 +41,46 @@ const LabelDisplay = {
+ TIME: 'time'
+ };
+
+-const PowerManagerInterface = {
+- name: 'org.gnome.SettingsDaemon.Power',
+- methods: [
+- { name: 'GetDevices', inSignature: '', outSignature: 'a(susdut)' },
+- { name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susdut)' },
+- ],
+- signals: [
+- { name: 'PropertiesChanged', inSignature: 's,a{sv},a[s]' },
+- ],
+- properties: [
+- { name: 'Icon', signature: 's', access: 'read' },
+- ]
+-};
+-let PowerManagerProxy = DBus.makeProxyClass(PowerManagerInterface);
+-
+-const SettingsManagerInterface = {
+- name: 'org.freedesktop.DBus.Properties',
+- methods: [
+- { name: 'Get', inSignature: 's,s', outSignature: 'v' },
+- { name: 'GetAll', inSignature: 's', outSignature: 'a{sv}' },
+- { name: 'Set', inSignature: 's,s,v', outSignature: '' }
+- ],
+- signals: [
+- {name: 'PropertiesChanged', inSignature:'s,a{sv},a[s]', outSignature:''}
+- ]
+-};
+-
+-let SettingsManagerProxy = DBus.makeProxyClass(SettingsManagerInterface);
++const PowerManagerInterface =
++
++
++
++
++
++
++
++
++
++
++
++
++;
++
++const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(PowerManagerInterface);
++
++const SettingsManagerInterface =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
++
++const SettingsManagerProxy = Gio.DBusProxy.makeProxyWrapper(SettingsManagerInterface);
+
+ function DeviceItem() {
+ this._init.apply(this, arguments);
+@@ -143,11 +154,11 @@ MyApplet.prototype = {
+ this.menuManager = new PopupMenu.PopupMenuManager(this);
+ this.menu = new Applet.AppletPopupMenu(this, orientation);
+ this.menuManager.addMenu(this.menu);
+-
+- this.set_applet_icon_symbolic_name('battery-missing');
+- this._proxy = new PowerManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
+- this._smProxy = new SettingsManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
+-
++
++ //this.set_applet_icon_symbolic_name('battery-missing');
++ this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
++ this._smProxy = new SettingsManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
++
+ let icon = this.actor.get_children()[0];
+ this.actor.remove_actor(icon);
+ let box = new St.BoxLayout({ name: 'batteryBox' });
+@@ -306,18 +317,19 @@ MyApplet.prototype = {
+ this._devicesChanged();
+ },
+
+- _devicesChanged: function() {
+- this.set_applet_icon_symbolic_name('battery-missing');
+- this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) {
+- if (icon) {
+- let gicon = Gio.icon_new_for_string(icon);
+- this._applet_icon.gicon = gicon;
+- this.actor.show();
+- } else {
+- this.menu.close();
+- this.actor.hide();
+- }
+- }));
++
++ _devicesChanged: function() {
++ this.set_applet_icon_symbolic_name('battery-missing');
++ let icon = this._proxy.Icon;
++ if (icon) {
++ let gicon = Gio.icon_new_for_string(icon);
++ this.setGIcon(gicon);
++ this.actor.show();
++ } else {
++ this.menu.close();
++ this.actor.hide();
++ }
++
+ this._readPrimaryDevice();
+ this._readOtherDevices();
+ this._updateLabel();
+diff --git a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+index 1113b1e..5bfaf26 100644
+--- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+@@ -1,7 +1,6 @@
+ const Applet = imports.ui.applet;
+ const Mainloop = imports.mainloop;
+ const Gio = imports.gi.Gio;
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+ const Cinnamon = imports.gi.Cinnamon;
+ const Clutter = imports.gi.Clutter;
+@@ -12,90 +11,45 @@ const Gvc = imports.gi.Gvc;
+ const Pango = imports.gi.Pango;
+ const Tooltips = imports.ui.tooltips;
+
+-const PropIFace = {
+- name: 'org.freedesktop.DBus.Properties',
+- signals: [{ name: 'PropertiesChanged',
+- inSignature: 'a{sv}'}]
+-};
+-
+-const MediaServer2IFace = {
+- name: 'org.mpris.MediaPlayer2',
+- methods: [{ name: 'Raise',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Quit',
+- inSignature: '',
+- outSignature: '' }],
+- properties: [{ name: 'CanRaise',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanQuit',
+- signature: 'b',
+- access: 'read'}],
+-};
+-
+-const MediaServer2PlayerIFace = {
+- name: 'org.mpris.MediaPlayer2.Player',
+- methods: [{ name: 'PlayPause',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Pause',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Play',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Stop',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Next',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'Previous',
+- inSignature: '',
+- outSignature: '' },
+- { name: 'SetPosition',
+- inSignature: 'a{ov}',
+- outSignature: '' }],
+- properties: [{ name: 'Metadata',
+- signature: 'a{sv}',
+- access: 'read'},
+- { name: 'Shuffle',
+- signature: 'b',
+- access: 'readwrite'},
+- { name: 'Rate',
+- signature: 'd',
+- access: 'readwrite'},
+- { name: 'LoopStatus',
+- signature: 'b',
+- access: 'readwrite'},
+- { name: 'Volume',
+- signature: 'd',
+- access: 'readwrite'},
+- { name: 'PlaybackStatus',
+- signature: 's',
+- access: 'read'},
+- { name: 'Position',
+- signature: 'x',
+- access: 'read'},
+- { name: 'CanGoNext',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanGoPrevious',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanPlay',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanPause',
+- signature: 'b',
+- access: 'read'},
+- { name: 'CanSeek',
+- signature: 'b',
+- access: 'read'}],
+- signals: [{ name: 'Seeked',
+- inSignature: 'x' }]
+-};
++const PropIFace =
++
++
++
++;
++
++const MediaServer2IFace =
++
++
++
++
++;
++
++const MediaServer2PlayerIFace =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
+
+ /* global values */
+ let icon_path = "/usr/share/cinnamon/theme/";
+@@ -112,120 +66,20 @@ const VOLUME_ADJUSTMENT_STEP = 0.05; /* Volume adjustment step in % */
+ const ICON_SIZE = 28;
+
+
+-function Prop() {
+- this._init.apply(this, arguments);
++var PropProxy = Gio.DBusProxy.makeProxyWrapper(PropIFace);
++function Prop(owner, initCallback, cancellable) {
++ return new PropProxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable);
+ }
+
+-Prop.prototype = {
+- _init: function(owner) {
+- DBus.session.proxifyObject(this, owner, '/org/mpris/MediaPlayer2', this);
+- }
++var MediaServer2Proxy = Gio.DBusProxy.makeProxyWrapper(MediaServer2IFace);
++function MediaServer2(owner, initCallback, cancellable) {
++ return new MediaServer2Proxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable);
+ }
+-DBus.proxifyPrototype(Prop.prototype, PropIFace)
+
+-function MediaServer2() {
+- this._init.apply(this, arguments);
+-}
+-
+-MediaServer2.prototype = {
+- _init: function(owner) {
+- DBus.session.proxifyObject(this, owner, '/org/mpris/MediaPlayer2', this);
+- },
+- getRaise: function(callback) {
+- this.GetRemote('CanRaise', Lang.bind(this,
+- function(raise, ex) {
+- if (!ex)
+- callback(this, raise);
+- }));
+- },
+- getQuit: function(callback) {
+- this.GetRemote('CanQuit', Lang.bind(this,
+- function(quit, ex) {
+- if (!ex)
+- callback(this, quit);
+- }));
+- }
+-}
+-DBus.proxifyPrototype(MediaServer2.prototype, MediaServer2IFace)
+-
+-function MediaServer2Player() {
+- this._init.apply(this, arguments);
+-}
+-
+-MediaServer2Player.prototype = {
+- _init: function(owner) {
+- this._owner = owner;
+- DBus.session.proxifyObject(this, owner, '/org/mpris/MediaPlayer2', this);
+- },
+- getMetadata: function(callback) {
+- this.GetRemote('Metadata', Lang.bind(this,
+- function(metadata, ex) {
+- if (!ex)
+- callback(this, metadata);
+- }));
+- },
+- getPlaybackStatus: function(callback) {
+- this.GetRemote('PlaybackStatus', Lang.bind(this,
+- function(status, ex) {
+- if (!ex)
+- callback(this, status);
+- }));
+- },
+- getRate: function(callback) {
+- this.GetRemote('Rate', Lang.bind(this,
+- function(rate, ex) {
+- if (!ex)
+- callback(this, rate);
+- }));
+- },
+- getPosition: function(callback) {
+- this.GetRemote('Position', Lang.bind(this,
+- function(position, ex) {
+- if (!ex)
+- callback(this, position);
+- }));
+- },
+- getShuffle: function(callback) {
+- this.GetRemote('Shuffle', Lang.bind(this,
+- function(shuffle, ex) {
+- if (!ex)
+- callback(this, shuffle);
+- }));
+- },
+- setShuffle: function(value) {
+- this.SetRemote('Shuffle', value);
+- },
+- getVolume: function(callback) {
+- this.GetRemote('Volume', Lang.bind(this,
+- function(volume, ex) {
+- if (!ex)
+- callback(this, volume);
+- }));
+- },
+- setVolume: function(value) {
+- this.SetRemote('Volume', parseFloat(value));
+- },
+- getRepeat: function(callback) {
+- this.GetRemote('LoopStatus', Lang.bind(this,
+- function(repeat, ex) {
+- if (!ex) {
+- if (repeat == "None")
+- repeat = false
+- else
+- repeat = true
+- callback(this, repeat);
+- }
+- }));
+- },
+- setRepeat: function(value) {
+- if (value)
+- value = "Playlist"
+- else
+- value = "None"
+- this.SetRemote('LoopStatus', value);
+- }
++var MediaServer2PlayerProxy = Gio.DBusProxy.makeProxyWrapper(MediaServer2PlayerIFace);
++function MediaServer2Player(owner, initCallback, cancellable) {
++ return new MediaServer2PlayerProxy(Gio.DBus.session, owner, '/org/mpris/MediaPlayer2', initCallback, cancellable);
+ }
+-DBus.proxifyPrototype(MediaServer2Player.prototype, MediaServer2PlayerIFace)
+
+ function TrackInfo() {
+ this._init.apply(this, arguments);
+@@ -715,7 +569,7 @@ MyApplet.prototype = {
+ this._players = {};
+ // watch players
+ for (var p=0; p
++
++
++
++
++;
++
++const XRandr2 = Gio.DBusProxy.makeProxyWrapper(XRandr2Iface);
+
+ function MyApplet(orientation, panel_height) {
+ this._init(orientation, panel_height);
+@@ -48,7 +49,7 @@ MyApplet.prototype = {
+ this.menu = new Applet.AppletPopupMenu(this, orientation);
+ this.menuManager.addMenu(this.menu);
+
+- this._proxy = new XRandr2(DBus.session, 'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/XRANDR');
++ this._proxy = new XRandr2(Gio.DBus.session, 'org.gnome.SettingsDaemon', '/org/gnome/SettingsDaemon/XRANDR');
+
+ try {
+ this._screen = new GnomeDesktop.RRScreen({ gdk_screen: Gdk.Screen.get_default() });
+diff --git a/js/misc/gnomeSession.js b/js/misc/gnomeSession.js
+index a2b61fd..e21d3a8 100644
+--- a/js/misc/gnomeSession.js
++++ b/js/misc/gnomeSession.js
+@@ -1,20 +1,18 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const Lang = imports.lang;
+ const Signals = imports.signals;
+
+-const PresenceIface = {
+- name: 'org.gnome.SessionManager.Presence',
+- methods: [{ name: 'SetStatus',
+- inSignature: 'u',
+- outSignature: '' }],
+- properties: [{ name: 'status',
+- signature: 'u',
+- access: 'readwrite' }],
+- signals: [{ name: 'StatusChanged',
+- inSignature: 'u' }]
+-};
++const PresenceIface =
++
++
++
++
++
++
++
++;
+
+ const PresenceStatus = {
+ AVAILABLE: 0,
+@@ -23,104 +21,37 @@ const PresenceStatus = {
+ IDLE: 3
+ };
+
+-function Presence() {
+- this._init();
++var PresenceProxy = Gio.DBusProxy.makeProxyWrapper(PresenceIface);
++function Presence(initCallback, cancellable) {
++ return new PresenceProxy(Gio.DBus.session, 'org.gnome.SessionManager',
++ '/org/gnome/SessionManager/Presence', initCallback, cancellable);
+ }
+
+-Presence.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.gnome.SessionManager', '/org/gnome/SessionManager/Presence', this);
+- },
+-
+- getStatus: function(callback) {
+- this.GetRemote('status', Lang.bind(this,
+- function(status, ex) {
+- if (!ex)
+- callback(this, status);
+- }));
+- },
+-
+- setStatus: function(status) {
+- this.SetStatusRemote(status);
+- }
+-};
+-DBus.proxifyPrototype(Presence.prototype, PresenceIface);
+-
+-// Note inhibitors are immutable objects, so they don't
+-// change at runtime (changes always come in the form
+-// of new inhibitors)
+-const InhibitorIface = {
+- name: 'org.gnome.SessionManager.Inhibitor',
+- properties: [{ name: 'app_id',
+- signature: 's',
+- access: 'readonly' },
+- { name: 'client_id',
+- signature: 's',
+- access: 'readonly' },
+- { name: 'reason',
+- signature: 's',
+- access: 'readonly' },
+- { name: 'flags',
+- signature: 'u',
+- access: 'readonly' },
+- { name: 'toplevel_xid',
+- signature: 'u',
+- access: 'readonly' },
+- { name: 'cookie',
+- signature: 'u',
+- access: 'readonly' }],
+-};
+-
+-function Inhibitor(objectPath) {
+- this._init(objectPath);
++const InhibitorIface =
++
++
++
++
++
++
++;
++
++var InhibitorProxy = Gio.DBusProxy.makeProxyWrapper(InhibitorIface);
++function Inhibitor(objectPath, initCallback, cancellable) {
++ return new InhibitorProxy(Gio.DBus.session, 'org.gnome.SessionManager', objectPath, initCallback, cancellable);
+ }
+
+-Inhibitor.prototype = {
+- _init: function(objectPath) {
+- DBus.session.proxifyObject(this,
+- 'org.gnome.SessionManager',
+- objectPath);
+- this.isLoaded = false;
+- this._loadingPropertiesCount = InhibitorIface.properties.length;
+- for (let i = 0; i < InhibitorIface.properties.length; i++) {
+- let propertyName = InhibitorIface.properties[i].name;
+- this.GetRemote(propertyName, Lang.bind(this,
+- function(value, exception) {
+- if (exception)
+- return;
+-
+- this[propertyName] = value;
+- this._loadingPropertiesCount--;
+-
+- if (this._loadingPropertiesCount == 0) {
+- this.isLoaded = true;
+- this.emit('is-loaded');
+- }
+- }));
+- }
+- },
+-};
+-DBus.proxifyPrototype(Inhibitor.prototype, InhibitorIface);
+-Signals.addSignalMethods(Inhibitor.prototype);
+-
+-
+-// Not the full interface, only the methods we use
+-const SessionManagerIface = {
+- name: 'org.gnome.SessionManager',
+- methods: [
+- { name: 'Logout', inSignature: 'u', outSignature: '' },
+- { name: 'Shutdown', inSignature: '', outSignature: '' },
+- { name: 'CanShutdown', inSignature: '', outSignature: 'b' }
+- ]
+-};
+-
+-function SessionManager() {
+- this._init();
++const SessionManagerIface =
++
++
++
++
++
++
++
++;
++
++var SessionManagerProxy = Gio.DBusProxy.makeProxyWrapper(SessionManagerIface);
++function SessionManager(initCallback, cancellable) {
++ return new SessionManagerProxy(Gio.DBus.session, 'org.gnome.SessionManager', '/org/gnome/SessionManager', initCallback, cancellable);
+ }
+-
+-SessionManager.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.gnome.SessionManager', '/org/gnome/SessionManager');
+- }
+-};
+-DBus.proxifyPrototype(SessionManager.prototype, SessionManagerIface);
+\ No newline at end of file
+diff --git a/js/misc/modemManager.js b/js/misc/modemManager.js
+index befd142..f35f925 100644
+--- a/js/misc/modemManager.js
++++ b/js/misc/modemManager.js
+@@ -1,6 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const Lang = imports.lang;
+ const Cinnamon = imports.gi.Cinnamon;
+ const Signals = imports.signals;
+@@ -8,33 +8,43 @@ const Signals = imports.signals;
+ // The following are not the complete interfaces, just the methods we need
+ // (or may need in the future)
+
+-const ModemGsmNetworkInterface = {
+- name: 'org.freedesktop.ModemManager.Modem.Gsm.Network',
+- methods: [
+- { name: 'GetRegistrationInfo', inSignature: '', outSignature: 'uss' },
+- { name: 'GetSignalQuality', inSignature: '', outSignature: 'u' }
+- ],
+- properties: [
+- { name: 'AccessTechnology', signature: 'u', access: 'read' }
+- ],
+- signals: [
+- { name: 'SignalQuality', inSignature: 'u' },
+- { name: 'RegistrationInfo', inSignature: 'uss' }
+- ]
+-};
+-const ModemGsmNetworkProxy = DBus.makeProxyClass(ModemGsmNetworkInterface);
+-
+-const ModemCdmaInterface = {
+- name: 'org.freedesktop.ModemManager.Modem.Cdma',
+- methods: [
+- { name: 'GetSignalQuality', inSignature: '', outSignature: 'u' },
+- { name: 'GetServingSystem', inSignature: '', outSignature: 'usu' }
+- ],
+- signals: [
+- { name: 'SignalQuality', inSignature: 'u' }
+- ]
+-};
+-const ModemCdmaProxy = DBus.makeProxyClass(ModemCdmaInterface);
++const ModemGsmNetworkInterface =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
++
++const ModemGsmNetworkProxy = Gio.DBusProxy.makeProxyWrapper(ModemGsmNetworkInterface);
++
++const ModemCdmaInterface =
++
++
++
++
++
++
++
++
++
++
++
++;
++
++const ModemCdmaProxy = Gio.DBusProxy.makeProxyWrapper(ModemCdmaInterface);
+
+ let _providersTable;
+ function _getProvidersTable() {
+@@ -50,17 +60,17 @@ function ModemGsm() {
+
+ ModemGsm.prototype = {
+ _init: function(path) {
+- this._proxy = new ModemGsmNetworkProxy(DBus.system, 'org.freedesktop.ModemManager', path);
++ this._proxy = new ModemGsmNetworkProxy(Gio.DBus.system, 'org.freedesktop.ModemManager', path);
+
+ this.signal_quality = 0;
+ this.operator_name = null;
+
+ // Code is duplicated because the function have different signatures
+- this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) {
++ this._proxy.connectSignal('SignalQuality', Lang.bind(this, function(proxy, sender, [quality]) {
+ this.signal_quality = quality;
+ this.emit('notify::signal-quality');
+ }));
+- this._proxy.connect('RegistrationInfo', Lang.bind(this, function(proxy, status, code, name) {
++ this._proxy.connectSignal('RegistrationInfo', Lang.bind(this, function(proxy, sender, [status, code, name]) {
+ this.operator_name = this._findOperatorName(name, code);
+ this.emit('notify::operator-name');
+ }));
+@@ -154,12 +164,13 @@ function ModemCdma() {
+ }
+
+ ModemCdma.prototype = {
+- _init: function(path) {
+- this._proxy = new ModemCdmaProxy(DBus.system, 'org.freedesktop.ModemManager', path);
++ _init: function(path) {
++ this._proxy = new ModemCdmaProxy(Gio.DBus.system, 'org.freedesktop.ModemManager', path);
+
+ this.signal_quality = 0;
+ this.operator_name = null;
+- this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) {
++ this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, sender, params) {
++ this.signal_quality = params[0];
+ this.signal_quality = quality;
+ this.emit('notify::signal-quality');
+
+diff --git a/js/misc/screenSaver.js b/js/misc/screenSaver.js
+index c471856..aec883f 100644
+--- a/js/misc/screenSaver.js
++++ b/js/misc/screenSaver.js
+@@ -1,53 +1,48 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+-
+-const ScreenSaverIface = {
+- name: 'org.gnome.ScreenSaver',
+- methods: [{ name: 'GetActive',
+- inSignature: '',
+- outSignature: 'b' },
+- { name: 'Lock',
+- inSignature: '' },
+- { name: 'SetActive',
+- inSignature: 'b' }],
+- signals: [{ name: 'ActiveChanged',
+- inSignature: 'b' }]
+-};
++const Gio = imports.gi.Gio;
++
++const ScreenSaverIface =
++
++
++
++
++
++
++
++
++
++
++;
++
++const ScreenSaverInfo = Gio.DBusInterfaceInfo.new_for_xml(ScreenSaverIface);
+
+ function ScreenSaverProxy() {
+- this._init();
++ var self = new Gio.DBusProxy({ g_connection: Gio.DBus.session,
++ g_interface_name: ScreenSaverInfo.name,
++ g_interface_info: ScreenSaverInfo,
++ g_name: 'org.gnome.ScreenSaver',
++ g_object_path: '/org/gnome/ScreenSaver',
++ g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
++ Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
++ self.init(null);
++ self.screenSaverActive = false;
++
++ self.connectSignal('ActiveChanged', function(proxy, senderName, [isActive]) {
++ self.screenSaverActive = isActive;
++ });
++ self.connect('notify::g-name-owner', function() {
++ if (self.g_name_owner) {
++ self.GetActiveRemote(function(result, excp) {
++ if (result) {
++ let [isActive] = result;
++ self.screenSaverActive = isActive;
++ }
++ });
++ } else
++ self.screenSaverActive = false;
++ });
++
++ return self;
+ }
+-
+-ScreenSaverProxy.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this,
+- 'org.gnome.ScreenSaver',
+- '/org/gnome/ScreenSaver');
+-
+- DBus.session.watch_name('org.gnome.ScreenSaver',
+- false, // do not launch a name-owner if none exists
+- Lang.bind(this, this._onSSAppeared),
+- Lang.bind(this, this._onSSVanished));
+-
+- this.screenSaverActive = false;
+- this.connect('ActiveChanged',
+- Lang.bind(this, this._onActiveChanged));
+- },
+-
+- _onSSAppeared: function(owner) {
+- this.GetActiveRemote(Lang.bind(this, function(isActive) {
+- this.screenSaverActive = isActive;
+- }))
+- },
+-
+- _onSSVanished: function(oldOwner) {
+- this.screenSaverActive = false;
+- },
+-
+- _onActiveChanged: function(object, isActive) {
+- this.screenSaverActive = isActive;
+- }
+-};
+-DBus.proxifyPrototype(ScreenSaverProxy.prototype, ScreenSaverIface);
+diff --git a/js/ui/appletManager.js b/js/ui/appletManager.js
+index abf8136..830d80d 100644
+--- a/js/ui/appletManager.js
++++ b/js/ui/appletManager.js
+@@ -7,7 +7,6 @@ const Cinnamon = imports.gi.Cinnamon;
+ const Main = imports.ui.main;
+ const Applet = imports.ui.applet;
+ const Extension = imports.ui.extension;
+-const DBus = imports.dbus;
+
+ // Maps uuid -> metadata object
+ var appletMeta;
+diff --git a/js/ui/automountManager.js b/js/ui/automountManager.js
+index fa73bfe..f29f9f3 100644
+--- a/js/ui/automountManager.js
++++ b/js/ui/automountManager.js
+@@ -1,7 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Lang = imports.lang;
+-const DBus = imports.dbus;
+ const Mainloop = imports.mainloop;
+ const Gio = imports.gi.Gio;
+ const Params = imports.misc.params;
+@@ -15,63 +14,57 @@ const SETTING_ENABLE_AUTOMOUNT = 'automount';
+
+ const AUTORUN_EXPIRE_TIMEOUT_SECS = 10;
+
+-const ConsoleKitSessionIface = {
+- name: 'org.freedesktop.ConsoleKit.Session',
+- methods: [{ name: 'IsActive',
+- inSignature: '',
+- outSignature: 'b' }],
+- signals: [{ name: 'ActiveChanged',
+- inSignature: 'b' }]
+-};
++const ConsoleKitSessionIface =
++
++
++
++
++
++
++;
+
+-const ConsoleKitSessionProxy = DBus.makeProxyClass(ConsoleKitSessionIface);
++const ConsoleKitSessionProxy = Gio.DBusProxy.makeProxyWrapper(ConsoleKitSessionIface);
+
+-const ConsoleKitManagerIface = {
+- name: 'org.freedesktop.ConsoleKit.Manager',
+- methods: [{ name: 'GetCurrentSession',
+- inSignature: '',
+- outSignature: 'o' }]
+-};
++const ConsoleKitManagerIface =
++
++
++
++;
+
+-function ConsoleKitManager() {
+- this._init();
+-};
+-
+-ConsoleKitManager.prototype = {
+- _init: function() {
+- this.sessionActive = true;
+-
+- DBus.system.proxifyObject(this,
+- 'org.freedesktop.ConsoleKit',
+- '/org/freedesktop/ConsoleKit/Manager');
++const ConsoleKitManagerInfo = Gio.DBusInterfaceInfo.new_for_xml(ConsoleKitManagerIface);
+
+- DBus.system.watch_name('org.freedesktop.ConsoleKit',
+- false, // do not launch a name-owner if none exists
+- Lang.bind(this, this._onManagerAppeared),
+- Lang.bind(this, this._onManagerVanished));
+- },
+-
+- _onManagerAppeared: function(owner) {
+- this.GetCurrentSessionRemote(Lang.bind(this, this._onCurrentSession));
+- },
+-
+- _onManagerVanished: function(oldOwner) {
+- this.sessionActive = true;
+- },
+-
+- _onCurrentSession: function(session) {
+- this._ckSession = new ConsoleKitSessionProxy(DBus.system, 'org.freedesktop.ConsoleKit', session);
+-
+- this._ckSession.connect
+- ('ActiveChanged', Lang.bind(this, function(object, isActive) {
+- this.sessionActive = isActive;
+- }));
+- this._ckSession.IsActiveRemote(Lang.bind(this, function(isActive) {
+- this.sessionActive = isActive;
+- }));
++function ConsoleKitManager() {
++ var self = new Gio.DBusProxy({ g_connection: Gio.DBus.system,
++ g_interface_name: ConsoleKitManagerInfo.name,
++ g_interface_info: ConsoleKitManagerInfo,
++ g_name: 'org.freedesktop.ConsoleKit',
++ g_object_path: '/org/freedesktop/ConsoleKit/Manager',
++ g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
++ Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
++
++ self._updateSessionActive = function() {
++ if (self.g_name_owner) {
++ self.GetCurrentSessionRemote(function([session]) {
++ self._ckSession = new ConsoleKitSessionProxy(Gio.DBus.system, 'org.freedesktop.ConsoleKit', session);
++
++ self._ckSession.connectSignal('ActiveChanged', function(object, senderName, [isActive]) {
++ self.sessionActive = isActive;
++ });
++ self._ckSession.IsActiveRemote(function([isActive]) {
++ self.sessionActive = isActive;
++ });
++ });
++ } else {
++ self.sessionActive = true;
++ }
+ }
+-};
+-DBus.proxifyPrototype(ConsoleKitManager.prototype, ConsoleKitManagerIface);
++ self.connect('notify::g-name-owner',
++ Lang.bind(self, self._updateSessionActive));
++
++ self._updateSessionActive();
++ self.init(null);
++ return self;
++}
+
+ function AutomountManager() {
+ this._init();
+@@ -85,9 +78,8 @@ AutomountManager.prototype = {
+ this.ckListener = new ConsoleKitManager();
+
+ this._ssProxy = new ScreenSaver.ScreenSaverProxy();
+- this._ssProxy.connect('ActiveChanged',
+- Lang.bind(this,
+- this._screenSaverActiveChanged));
++ this._ssProxy.connectSignal('ActiveChanged',
++ Lang.bind(this, this._screenSaverActiveChanged));
+
+ this._volumeMonitor = Gio.VolumeMonitor.get();
+
+@@ -110,7 +102,7 @@ AutomountManager.prototype = {
+ Mainloop.idle_add(Lang.bind(this, this._startupMountAll));
+ },
+
+- _screenSaverActiveChanged: function(object, isActive) {
++ _screenSaverActiveChanged: function(object, senderName, [isActive]) {
+ if (!isActive) {
+ this._volumeQueue.forEach(Lang.bind(this, function(volume) {
+ this._checkAndMountVolume(volume);
+diff --git a/js/ui/autorunManager.js b/js/ui/autorunManager.js
+index 02cd4da..99b6fbe 100644
+--- a/js/ui/autorunManager.js
++++ b/js/ui/autorunManager.js
+@@ -1,7 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Lang = imports.lang;
+-const DBus = imports.dbus;
+ const Gio = imports.gi.Gio;
+ const St = imports.gi.St;
+
+@@ -61,25 +60,19 @@ function startAppForMount(app, mount) {
+
+ /******************************************/
+
+-const HotplugSnifferIface = {
+- name: 'org.Cinnamon.HotplugSniffer',
+- methods: [{ name: 'SniffURI',
+- inSignature: 's',
+- outSignature: 'as' }]
+-};
+-
+-const HotplugSniffer = function() {
+- this._init();
+-};
++const HotplugSnifferIface =
++
++
++
++
++;
+
+-HotplugSniffer.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this,
++const HotplugSnifferProxy = Gio.DBusProxy.makeProxyWrapper(HotplugSnifferIface);
++function HotplugSniffer() {
++ return new HotplugSnifferProxy(Gio.DBus.session,
+ 'org.Cinnamon.HotplugSniffer',
+ '/org/Cinnamon/HotplugSniffer');
+- },
+-};
+-DBus.proxifyPrototype(HotplugSniffer.prototype, HotplugSnifferIface);
++}
+
+ function ContentTypeDiscoverer(callback) {
+ this._init(callback);
+diff --git a/js/ui/calendar.js b/js/ui/calendar.js
+index ff4777a..a97e2a9 100644
+--- a/js/ui/calendar.js
++++ b/js/ui/calendar.js
+@@ -1,6 +1,5 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Clutter = imports.gi.Clutter;
+ const Gio = imports.gi.Gio;
+ const Lang = imports.lang;
+@@ -194,30 +193,34 @@ EmptyEventSource.prototype = {
+ };
+ Signals.addSignalMethods(EmptyEventSource.prototype);
+
+-const CalendarServerIface = {
+- name: 'org.Cinnamon.CalendarServer',
+- methods: [{ name: 'GetEvents',
+- inSignature: 'xxb',
+- outSignature: 'a(sssbxxa{sv})' }],
+- signals: [{ name: 'Changed',
+- inSignature: '' }]
+-};
+-
+-const CalendarServer = function () {
+- this._init();
+-};
+-
+-CalendarServer.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.Cinnamon.CalendarServer', '/org/Cinnamon/CalendarServer');
+- }
+-};
+-
+-DBus.proxifyPrototype(CalendarServer.prototype, CalendarServerIface);
++const CalendarServerIface =
++
++
++
++
++
++
++
++;
++
++const CalendarServerInfo = Gio.DBusInterfaceInfo.new_for_xml(CalendarServerIface);
++
++function CalendarServer() {
++ var self = new Gio.DBusProxy({ g_connection: Gio.DBus.session,
++ g_interface_name: CalendarServerInfo.name,
++ g_interface_info: CalendarServerInfo,
++ g_name: 'org.Cinnamon.CalendarServer',
++ g_object_path: '/org/Cinnamon/CalendarServer',
++ g_flags: (Gio.DBusProxyFlags.DO_NOT_AUTO_START |
++ Gio.DBusProxyFlags.DO_NOT_LOAD_PROPERTIES) });
++
++ self.init(null);
++ return self;
++}
+
+ // an implementation that reads data from a session bus service
+-function DBusEventSource(owner) {
+- this._init(owner);
++function DBusEventSource() {
++ this._init();
+ }
+
+ function _datesEqual(a, b) {
+@@ -240,16 +243,18 @@ function _dateIntervalsOverlap(a0, a1, b0, b1)
+
+
+ DBusEventSource.prototype = {
+- _init: function(owner) {
++ _init: function() {
+ this._resetCache();
+
+- this._dbusProxy = new CalendarServer(owner);
+- this._dbusProxy.connect('Changed', Lang.bind(this, this._onChanged));
++ this._dbusProxy = new CalendarServer();
++ this._dbusProxy.connectSignal('Changed', Lang.bind(this, this._onChanged));
+
+- DBus.session.watch_name('org.Cinnamon.CalendarServer',
+- false, // do not launch a name-owner if none exists
+- Lang.bind(this, this._onNameAppeared),
+- Lang.bind(this, this._onNameVanished));
++ this._dbusProxy.connect('notify::g-name-owner', Lang.bind(this, function() {
++ if (this._dbusProxy.g_name_owner)
++ this._onNameAppeared();
++ else
++ this._onNameVanished();
++ }));
+ },
+
+ _resetCache: function() {
+@@ -272,7 +277,7 @@ DBusEventSource.prototype = {
+ this._loadEvents(false);
+ },
+
+- _onEventsReceived: function(appointments) {
++ _onEventsReceived: function([appointments]) {
+ let newEvents = [];
+ if (appointments != null) {
+ for (let n = 0; n < appointments.length; n++) {
+@@ -295,9 +300,9 @@ DBusEventSource.prototype = {
+
+ _loadEvents: function(forceReload) {
+ if (this._curRequestBegin && this._curRequestEnd){
+- let callFlags = 0;
++ let callFlags = Gio.DBusCallFlags.NO_AUTO_START;
+ if (forceReload)
+- callFlags |= DBus.CALL_FLAG_START;
++ callFlags = Gio.DBusCallFlags.NONE;
+ this._dbusProxy.GetEventsRemote(this._curRequestBegin.getTime() / 1000,
+ this._curRequestEnd.getTime() / 1000,
+ forceReload,
+diff --git a/js/ui/cinnamonDBus.js b/js/ui/cinnamonDBus.js
+index 600e92f..5d4eb1c 100644
+--- a/js/ui/cinnamonDBus.js
++++ b/js/ui/cinnamonDBus.js
+@@ -1,7 +1,7 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
++const Gio = imports.gi.Gio;
+
+ const Config = imports.misc.config;
+ const Flashspot = imports.ui.flashspot;
+@@ -9,48 +9,53 @@ const Main = imports.ui.main;
+ const AppletManager = imports.ui.appletManager;
+ const DeskletManager = imports.ui.deskletManager;
+
+-const CinnamonIface = {
+- name: 'org.Cinnamon',
+- methods: [{ name: 'Eval',
+- inSignature: 's',
+- outSignature: 'bs'
+- },
+- { name: 'ScreenshotArea',
+- inSignature: 'biiiibs',
+- outSignature: ''
+- },
+- { name: 'ScreenshotWindow',
+- inSignature: 'bbbs',
+- outSignature: ''
+- },
+- { name: 'Screenshot',
+- inSignature: 'bbs',
+- outSignature: ''
+- },
+- {
+- name: 'FlashArea',
+- inSignature: 'iiii',
+- outSignature: ''
+- },
+- {
+- name: 'highlightApplet',
+- inSignature: 'sb',
+- outSignature: ''
+- },
+- {
+- name: 'activateCallback',
+- inSignature: 'ssb',
+- outSignature: ''
+- }
+- ],
+- signals: [],
+- properties: [{ name: 'OverviewActive',
+- signature: 'b',
+- access: 'readwrite' },
+- { name: 'CinnamonVersion',
+- signature: 's',
+- access: 'read' }]
+-};
++
++const CinnamonIface =
++
++
++
++
++
++
++include_cursor
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++include_cursor
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
+
+ function Cinnamon() {
+ this._init();
+@@ -58,7 +63,8 @@ function Cinnamon() {
+
+ Cinnamon.prototype = {
+ _init: function() {
+- DBus.session.exportObject('/org/Cinnamon', this);
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(CinnamonIface, this);
++ this._dbusImpl.export(Gio.DBus.session, '/org/Cinnamon');
+ },
+
+ /**
+@@ -215,5 +221,3 @@ Cinnamon.prototype = {
+ CinnamonVersion: Config.PACKAGE_VERSION
+ };
+
+-DBus.conformExport(Cinnamon.prototype, CinnamonIface);
+-
+diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js
+index e909f5f..4f1f7d0 100644
+--- a/js/ui/endSessionDialog.js
++++ b/js/ui/endSessionDialog.js
+@@ -18,19 +18,19 @@
+ * 02110-1335, USA.
+ */
+
+-const DBus = imports.dbus;
+ const Lang = imports.lang;
+ const Signals = imports.signals;
+
+ const AccountsService = imports.gi.AccountsService;
+ const Clutter = imports.gi.Clutter;
++const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+ const Gtk = imports.gi.Gtk;
+ const Pango = imports.gi.Pango;
+ const St = imports.gi.St;
+ const Cinnamon = imports.gi.Cinnamon;
+
+-const GnomeSession = imports.misc.gnomeSession
++const GnomeSession = imports.misc.gnomeSession;
+ const ModalDialog = imports.ui.modalDialog;
+ const Tweener = imports.ui.tweener;
+
+@@ -40,20 +40,20 @@ const _ITEM_ICON_SIZE = 48;
+ const _DIALOG_ICON_SIZE = 32;
+
+ const GSM_SESSION_MANAGER_LOGOUT_FORCE = 2;
+-
+-const EndSessionDialogIface = {
+- name: 'org.gnome.SessionManager.EndSessionDialog',
+- methods: [{ name: 'Open',
+- inSignature: 'uuuao',
+- outSignature: ''
+- }
+- ],
+- signals: [{ name: 'Canceled',
+- inSignature: '',
+- }],
+- properties: []
+-};
+-
++const EndSessionDialogIface =
++
++
++
++
++
++
++
++
++
++
++
++;
++
+ const logoutDialogContent = {
+ subjectWithUser: _("Log Out %s"),
+ subject: _("Log Out"),
+@@ -230,8 +230,6 @@ function _setLabelText(label, text) {
+ function EndSessionDialog() {
+ if (_endSessionDialog == null) {
+ this._init();
+- DBus.session.exportObject('/org/gnome/SessionManager/EndSessionDialog',
+- this);
+ _endSessionDialog = this;
+ }
+
+@@ -328,6 +326,9 @@ EndSessionDialog.prototype = {
+ if (this._applicationList.get_children().length == 0)
+ scrollView.hide();
+ }));
++
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(EndSessionDialogIface, this);
++ this._dbusImpl.export(Gio.DBus.session, '/org/gnome/SessionManager/EndSessionDialog');
+ },
+
+ _onDestroy: function() {
+@@ -442,25 +443,19 @@ EndSessionDialog.prototype = {
+
+ close: function() {
+ ModalDialog.ModalDialog.prototype.close.call(this);
+- DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
+- 'org.gnome.SessionManager.EndSessionDialog',
+- 'Closed', '', []);
++ this._dbusImpl.emit_signal('Closed', null);
+ },
+
+ cancel: function() {
+ this._stopTimer();
+- DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
+- 'org.gnome.SessionManager.EndSessionDialog',
+- 'Canceled', '', []);
++ this._dbusImpl.emit_signal('Canceled', null);
+ this.close(global.get_current_time());
+ },
+
+ _confirm: function(signal) {
+ this._fadeOutDialog();
+ this._stopTimer();
+- DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog',
+- 'org.gnome.SessionManager.EndSessionDialog',
+- signal, '', []);
++ this._dbusImpl.emit_signal(signal, null);
+ },
+
+ _onOpened: function() {
+@@ -512,39 +507,41 @@ EndSessionDialog.prototype = {
+ this._updateContent();
+ },
+
+- OpenAsync: function(type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths, callback) {
++ OpenAsync: function(parameters, invocation) {
++ let [type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths] = parameters;
+ this._totalSecondsToStayOpen = totalSecondsToStayOpen;
+ this._inhibitors = [];
+ this._applicationList.destroy_children();
+ this._type = type;
+
+- if (!(this._type in DialogContent))
+- throw new DBus.DBusError('org.Cinnamon.ModalDialog.TypeError',
+- "Unknown dialog type requested");
++ if (!(this._type in DialogContent)) {
++ invocation.report_dbus_error('org.Cinnamon.ModalDialog.TypeError',
++ "Unknown dialog type requested");
++ return;
++ }
+
+ for (let i = 0; i < inhibitorObjectPaths.length; i++) {
+- let inhibitor = new GnomeSession.Inhibitor(inhibitorObjectPaths[i]);
++ let inhibitor = new GnomeSession.Inhibitor(inhibitorObjectPaths[i], Lang.bind(this, function(proxy, error) {
++ this._onInhibitorLoaded(proxy);
++ }));
+
+- inhibitor.connect('is-loaded',
+- Lang.bind(this, function() {
+- this._onInhibitorLoaded(inhibitor);
+- }));
+ this._inhibitors.push(inhibitor);
+ }
+
+ this._updateButtons();
+
+- if (!this.open(timestamp))
+- throw new DBus.DBusError('org.Cinnamon.ModalDialog.GrabError',
+- "Cannot grab pointer and keyboard");
++ if (!this.open(timestamp)) {
++ invocation.report_dbus_error('org.Cinnamon.ModalDialog.GrabError',
++ "Cannot grab pointer and keyboard");
++ return;
++ }
+
+ this._updateContent();
+
+ let signalId = this.connect('opened',
+ Lang.bind(this, function() {
+- callback();
++ invocation.return_value(null);
+ this.disconnect(signalId);
+ }));
+ }
+ };
+-DBus.conformExport(EndSessionDialog.prototype, EndSessionDialogIface);
+diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
+index f55cf93..69edb51 100644
+--- a/js/ui/keyboard.js
++++ b/js/ui/keyboard.js
+@@ -2,7 +2,6 @@
+
+ const Caribou = imports.gi.Caribou;
+ const Clutter = imports.gi.Clutter;
+-const DBus = imports.dbus;
+ const Gdk = imports.gi.Gdk;
+ const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+@@ -38,28 +37,27 @@ const PRETTY_KEYS = {
+ 'Alt_L': 'Alt'
+ };
+
+-const CaribouKeyboardIface = {
+- name: 'org.gnome.Caribou.Keyboard',
+- methods: [ { name: 'Show',
+- inSignature: 'u',
+- outSignature: ''
+- },
+- { name: 'Hide',
+- inSignature: 'u',
+- outSignature: ''
+- },
+- { name: 'SetCursorLocation',
+- inSignature: 'iiii',
+- outSignature: ''
+- },
+- { name: 'SetEntryLocation',
+- inSignature: 'iiii',
+- outSignature: ''
+- } ],
+- properties: [ { name: 'Name',
+- signature: 's',
+- access: 'read' } ]
+-};
++const CaribouKeyboardIface =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
+
+ function Key() {
+ this._init.apply(this, arguments);
+@@ -199,7 +197,8 @@ function Keyboard() {
+
+ Keyboard.prototype = {
+ _init: function () {
+- DBus.session.exportObject('/org/gnome/Caribou/Keyboard', this);
++ this._impl = Gio.DBusExportedObject.wrapJSObject(CaribouKeyboardIface, this);
++ this._impl.export(Gio.DBus.session, '/org/gnome/Caribou/Keyboard');
+
+ this.actor = null;
+
+@@ -541,7 +540,6 @@ Keyboard.prototype = {
+ return 'cinnamon';
+ }
+ };
+-DBus.conformExport(Keyboard.prototype, CaribouKeyboardIface);
+
+ function KeyboardSource() {
+ this._init.apply(this, arguments);
+diff --git a/js/ui/layout.js b/js/ui/layout.js
+index 76303b9..b97459e 100644
+--- a/js/ui/layout.js
++++ b/js/ui/layout.js
+@@ -488,12 +488,14 @@ Chrome.prototype = {
+
+ this._screenSaverActive = false;
+ this._screenSaverProxy = new ScreenSaver.ScreenSaverProxy();
+- this._screenSaverProxy.connect('ActiveChanged', Lang.bind(this, this._onScreenSaverActiveChanged));
+- this._screenSaverProxy.GetActiveRemote(Lang.bind(this,
+- function(result, err) {
+- if (!err)
+- this._onScreenSaverActiveChanged(this._screenSaverProxy, result);
+- }));
++ this._screenSaverProxy.connectSignal('ActiveChanged', Lang.bind(this, function(proxy, senderName, [isActive]) {
++ this._onScreenSaverActiveChanged(isActive);
++ }));
++ this._screenSaverProxy.GetActiveRemote(Lang.bind(this, function(result, err) {
++ if (!err)
++ this._onScreenSaverActiveChanged(result[0]);
++ }));
++
+
+ this._relayout();
+ },
+diff --git a/js/ui/magnifierDBus.js b/js/ui/magnifierDBus.js
+index 72bba26..4d21797 100644
+--- a/js/ui/magnifierDBus.js
++++ b/js/ui/magnifierDBus.js
+@@ -1,6 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const Main = imports.ui.main;
+
+ const MAG_SERVICE_NAME = 'org.gnome.Magnifier';
+@@ -10,47 +10,85 @@ const ZOOM_SERVICE_PATH = '/org/gnome/Magnifier/ZoomRegion';
+
+ // Subset of gnome-mag's Magnifier dbus interface -- to be expanded. See:
+ // http://git.gnome.org/browse/gnome-mag/tree/xml/...Magnifier.xml
+-const MagnifierIface = {
+- name: MAG_SERVICE_NAME,
+- methods: [
+- { name: 'setActive', inSignature: 'b', outSignature: '' },
+- { name: 'isActive', inSignature: '', outSignature: 'b' },
+- { name: 'showCursor', inSignature: '', outSignature: '' },
+- { name: 'hideCursor', inSignature: '', outSignature: '' },
+- { name: 'createZoomRegion', inSignature: 'ddaiai', outSignature: 'o' },
+- { name: 'addZoomRegion', inSignature: 'o', outSignature: 'b' },
+- { name: 'getZoomRegions', inSignature: '', outSignature: 'ao' },
+- { name: 'clearAllZoomRegions', inSignature: '', outSignature: '' },
+- { name: 'fullScreenCapable', inSignature: '', outSignature: 'b' },
+-
+- { name: 'setCrosswireSize', inSignature: 'i', outSignature: '' },
+- { name: 'getCrosswireSize', inSignature: '', outSignature: 'i' },
+- { name: 'setCrosswireLength', inSignature: 'i', outSignature: '' },
+- { name: 'getCrosswireLength', inSignature: '', outSignature: 'i' },
+- { name: 'setCrosswireClip', inSignature: 'b', outSignature: '' },
+- { name: 'getCrosswireClip', inSignature: '', outSignature: 'b' },
+- { name: 'setCrosswireColor', inSignature: 'u', outSignature: '' },
+- { name: 'getCrosswireColor', inSignature: '', outSignature: 'u' }
+- ],
+- signals: [],
+- properties: []
+-};
++const MagnifierIface =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
+
+ // Subset of gnome-mag's ZoomRegion dbus interface -- to be expanded. See:
+ // http://git.gnome.org/browse/gnome-mag/tree/xml/...ZoomRegion.xml
+-const ZoomRegionIface = {
+- name: ZOOM_SERVICE_NAME,
+- methods: [
+- { name: 'setMagFactor', inSignature: 'dd', outSignature: ''},
+- { name: 'getMagFactor', inSignature: '', outSignature: 'dd' },
+- { name: 'setRoi', inSignature: 'ai', outSignature: '' },
+- { name: 'getRoi', inSignature: '', outSignature: 'ai' },
+- { name: 'shiftContentsTo', inSignature: 'ii', outSignature: 'b' },
+- { name: 'moveResize', inSignature: 'ai', outSignature: '' }
+- ],
+- signals: [],
+- properties: []
+-};
++const ZoomRegionIface =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
+
+ // For making unique ZoomRegion DBus proxy object paths of the form:
+ // '/org/gnome/Magnifier/ZoomRegion/zoomer0',
+@@ -64,7 +102,9 @@ function CinnamonMagnifier() {
+ CinnamonMagnifier.prototype = {
+ _init: function() {
+ this._zoomers = {};
+- DBus.session.exportObject(MAG_SERVICE_PATH, this);
++
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(MagnifierIface, this);
++ this._dbusImpl.export(Gio.DBus.session, MAG_SERVICE_PATH);
+ },
+
+ /**
+@@ -195,10 +235,10 @@ CinnamonMagnifier.prototype = {
+ Main.magnifier.clearAllZoomRegions();
+ for (let objectPath in this._zoomers) {
+ let proxyAndZoomer = this._zoomers[objectPath];
++ proxyAndZoomer.proxy.destroy();
+ proxyAndZoomer.proxy = null;
+ proxyAndZoomer.zoomRegion = null;
+ delete this._zoomers[objectPath];
+- DBus.session.unexportObject(proxyAndZoomer);
+ }
+ this._zoomers = {};
+ },
+@@ -300,8 +340,9 @@ function CinnamonMagnifierZoomRegion(zoomerObjectPath, zoomRegion) {
+ CinnamonMagnifierZoomRegion.prototype = {
+ _init: function(zoomerObjectPath, zoomRegion) {
+ this._zoomRegion = zoomRegion;
+- DBus.session.proxifyObject(this, ZOOM_SERVICE_NAME, zoomerObjectPath);
+- DBus.session.exportObject(zoomerObjectPath, this);
++
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(ZoomRegionIface, this);
++ this._dbusImpl.export(Gio.DBus.session, zoomerObjectPath);
+ },
+
+ /**
+@@ -376,8 +417,9 @@ CinnamonMagnifierZoomRegion.prototype = {
+ moveResize: function(viewPort) {
+ let viewRect = { x: viewPort[0], y: viewPort[1], width: viewPort[2] - viewPort[0], height: viewPort[3] - viewPort[1] };
+ this._zoomRegion.setViewPort(viewRect);
++ },
++
++ destroy: function() {
++ this._dbusImpl.unexport();
+ }
+ };
+-
+-DBus.conformExport(CinnamonMagnifier.prototype, MagnifierIface);
+-DBus.conformExport(CinnamonMagnifierZoomRegion.prototype, ZoomRegionIface);
+diff --git a/js/ui/main.js b/js/ui/main.js
+index 5cae372..180db5c 100644
+--- a/js/ui/main.js
++++ b/js/ui/main.js
+@@ -1,7 +1,6 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Clutter = imports.gi.Clutter;
+-const DBus = imports.dbus;
+ const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+ const Gtk = imports.gi.Gtk;
+@@ -199,11 +198,6 @@ function start() {
+
+ cinnamonDBusService = new CinnamonDBus.Cinnamon();
+ lookingGlassDBusService = new LookingGlassDBus.CinnamonLookingGlass();
+- // Force a connection now; dbus.js will do this internally
+- // if we use its name acquisition stuff but we aren't right
+- // now; to do so we'd need to convert from its async calls
+- // back into sync ones.
+- DBus.session.flush();
+
+ // Ensure CinnamonWindowTracker and CinnamonAppUsage are initialized; this will
+ // also initialize CinnamonAppSystem first. CinnamonAppSystem
+diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
+index 18d6615..8bed028 100644
+--- a/js/ui/messageTray.js
++++ b/js/ui/messageTray.js
+@@ -1388,12 +1388,17 @@ function MessageTray() {
+
+ MessageTray.prototype = {
+ _init: function() {
+- this._presence = new GnomeSession.Presence();
++ this._presence = new GnomeSession.Presence(Lang.bind(this, function(proxy, error) {
++ this._onStatusChanged(proxy.status);
++ }));
++
+ this._userStatus = GnomeSession.PresenceStatus.AVAILABLE;
+ this._busy = false;
+ this._backFromAway = false;
+- this._presence.connect('StatusChanged', Lang.bind(this, this._onStatusChanged));
+- this._presence.getStatus(Lang.bind(this, this._onStatusChanged));
++ this._presence.connectSignal('StatusChanged', Lang.bind(this, function(proxy, senderName, [status]) {
++ this._onStatusChanged(status);
++ }));
++
+
+ this._notificationBin = new St.Bin();
+ this._notificationBin.hide();
+@@ -1548,7 +1553,7 @@ MessageTray.prototype = {
+ this._updateState();
+ },
+
+- _onStatusChanged: function(presence, status) {
++ _onStatusChanged: function(status) {
+ this._backFromAway = (this._userStatus == GnomeSession.PresenceStatus.IDLE && this._userStatus != status);
+ this._userStatus = status;
+
+diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
+index bee8ffd..b037e07 100644
+--- a/js/ui/notificationDaemon.js
++++ b/js/ui/notificationDaemon.js
+@@ -1,7 +1,7 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+ const Clutter = imports.gi.Clutter;
+-const DBus = imports.dbus;
++const Gio = imports.gi.Gio;
+ const GLib = imports.gi.GLib;
+ const Lang = imports.lang;
+ const Cinnamon = imports.gi.Cinnamon;
+@@ -14,49 +14,52 @@ const Params = imports.misc.params;
+
+ let nextNotificationId = 1;
+
+-// Should really be defined in dbus.js
+-const BusIface = {
+- name: 'org.freedesktop.DBus',
+- methods: [{ name: 'GetConnectionUnixProcessID',
+- inSignature: 's',
+- outSignature: 'i' }]
+-};
+-
+-const Bus = function () {
+- this._init();
+-};
+-
+-Bus.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
+- }
+-};
++// Should really be defined in Gio.js
++const BusIface =
++
++
++
++
++;
++
++var BusProxy = Gio.DBusProxy.makeProxyWrapper(BusIface);
++function Bus() {
++ return new BusProxy(Gio.DBus.session, 'org.freedesktop.DBus', '/org/freedesktop/DBus');
++}
+
+-DBus.proxifyPrototype(Bus.prototype, BusIface);
+-
+-const NotificationDaemonIface = {
+- name: 'org.freedesktop.Notifications',
+- methods: [{ name: 'Notify',
+- inSignature: 'susssasa{sv}i',
+- outSignature: 'u'
+- },
+- { name: 'CloseNotification',
+- inSignature: 'u',
+- outSignature: ''
+- },
+- { name: 'GetCapabilities',
+- inSignature: '',
+- outSignature: 'as'
+- },
+- { name: 'GetServerInformation',
+- inSignature: '',
+- outSignature: 'ssss'
+- }],
+- signals: [{ name: 'NotificationClosed',
+- inSignature: 'uu' },
+- { name: 'ActionInvoked',
+- inSignature: 'us' }]
+-};
++const NotificationDaemonIface =
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++;
+
+ const NotificationClosedReason = {
+ EXPIRED: 1,
+@@ -88,7 +91,8 @@ function NotificationDaemon() {
+
+ NotificationDaemon.prototype = {
+ _init: function() {
+- DBus.session.exportObject('/org/freedesktop/Notifications', this);
++ this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(NotificationDaemonIface, this);
++ this._dbusImpl.export(Gio.DBus.session, '/org/freedesktop/Notifications');
+
+ this._sources = [];
+ this._senderToPid = {};
+@@ -213,8 +217,8 @@ NotificationDaemon.prototype = {
+ return source;
+ },
+
+- Notify: function(appName, replacesId, icon, summary, body,
+- actions, hints, timeout) {
++ NotifyAsync: function(params, invocation) {
++ let [appName, replacesId, icon, summary, body, actions, hints, timeout] = params;
+ let id;
+
+ let rewrites = rewriteRules[appName];
+@@ -257,51 +261,55 @@ NotificationDaemon.prototype = {
+ }
+ this._notifications[id] = ndata;
+
+- let sender = DBus.getCurrentMessageContext().sender;
++ let sender = invocation.get_sender();
+ let pid = this._senderToPid[sender];
+
+ let source = this._getSource(appName, pid, ndata, sender, null);
+
+ if (source) {
+ this._notifyForSource(source, ndata);
+- return id;
++ return invocation.return_value(GLib.Variant.new('(u)', [id]));
+ }
+
+ if (replacesId) {
+ // There's already a pending call to GetConnectionUnixProcessID,
+ // which will see the new notification data when it finishes,
+ // so we don't have to do anything.
+- return id;
++ return invocation.return_value(GLib.Variant.new('(u)', [id]));
+ }
+
+- this._busProxy.GetConnectionUnixProcessIDRemote(sender, Lang.bind(this,
+- function (pid, ex) {
+- // The app may have updated or removed the notification
+- ndata = this._notifications[id];
+- if (!ndata)
+- return;
+-
+- source = this._getSource(appName, pid, ndata, sender, null);
+-
+- // We only store sender-pid entries for persistent sources.
+- // Removing the entries once the source is destroyed
+- // would result in the entries associated with transient
+- // sources removed once the notification is shown anyway.
+- // However, keeping these pairs would mean that we would
+- // possibly remove an entry associated with a persistent
+- // source when a transient source for the same sender is
+- // distroyed.
+- if (!source.isTransient) {
+- this._senderToPid[sender] = pid;
+- source.connect('destroy', Lang.bind(this,
+- function() {
+- delete this._senderToPid[sender];
+- }));
+- }
+- this._notifyForSource(source, ndata);
+- }));
++ this._busProxy.GetConnectionUnixProcessIDRemote(sender, Lang.bind(this, function (result, excp) {
++ // The app may have updated or removed the notification
++ ndata = this._notifications[id];
++ if (!ndata)
++ return;
+
+- return id;
++ if (excp) {
++ logError(excp, 'Call to GetConnectionUnixProcessID failed');
++ return;
++ }
++
++ let [pid] = result;
++ source = this._getSource(appName, pid, ndata, sender);
++
++ // We only store sender-pid entries for persistent sources.
++ // Removing the entries once the source is destroyed
++ // would result in the entries associated with transient
++ // sources removed once the notification is shown anyway.
++ // However, keeping these pairs would mean that we would
++ // possibly remove an entry associated with a persistent
++ // source when a transient source for the same sender is
++ // distroyed.
++ if (!source.isTransient) {
++ this._senderToPid[sender] = pid;
++ source.connect('destroy', Lang.bind(this, function() {
++ delete this._senderToPid[sender];
++ }));
++ }
++ this._notifyForSource(source, ndata);
++ }));
++
++ return invocation.return_value(GLib.Variant.new('(u)', [id]));
+ },
+
+ _notifyForSource: function(source, ndata) {
+@@ -441,17 +449,13 @@ NotificationDaemon.prototype = {
+ },
+
+ _emitNotificationClosed: function(id, reason) {
+- DBus.session.emit_signal('/org/freedesktop/Notifications',
+- 'org.freedesktop.Notifications',
+- 'NotificationClosed', 'uu',
+- [id, reason]);
++ this._dbusImpl.emit_signal('NotificationClosed',
++ GLib.Variant.new('(uu)', [id, reason]));
+ },
+
+ _emitActionInvoked: function(id, action) {
+- DBus.session.emit_signal('/org/freedesktop/Notifications',
+- 'org.freedesktop.Notifications',
+- 'ActionInvoked', 'us',
+- [id, action]);
++ this._dbusImpl.emit_signal('ActionInvoked',
++ GLib.Variant.new('(us)', [id, action]));
+ },
+
+ _onTrayIconAdded: function(o, icon) {
+@@ -465,8 +469,6 @@ NotificationDaemon.prototype = {
+ }
+ };
+
+-DBus.conformExport(NotificationDaemon.prototype, NotificationDaemonIface);
+-
+ function Source(title, pid, sender, trayIcon) {
+ this._init(title, pid, sender, trayIcon);
+ }
+@@ -481,15 +483,12 @@ Source.prototype = {
+
+ this.pid = pid;
+ if (sender)
+- // TODO: dbus-glib implementation of watch_name() doesn’t return an id to be used for
+- // unwatch_name() or implement unwatch_name(), however when we move to using GDBus implementation,
+- // we should save the id here and call unwatch_name() with it in destroy().
+- // Moving to GDBus is the work in progress: https://bugzilla.gnome.org/show_bug.cgi?id=648651
+- // and https://bugzilla.gnome.org/show_bug.cgi?id=622921 .
+- DBus.session.watch_name(sender,
+- false,
+- null,
+- Lang.bind(this, this._onNameVanished));
++ this._nameWatcherId = Gio.DBus.session.watch_name(sender,
++ Gio.BusNameWatcherFlags.NONE,
++ null,
++ Lang.bind(this, this._onNameVanished));
++ else
++ this._nameWatcherId = 0;
+
+ this._setApp();
+ if (this.app)
+@@ -596,6 +595,10 @@ Source.prototype = {
+ },
+
+ destroy: function() {
++ if (this._nameWatcherId) {
++ Gio.DBus.session.unwatch_name(this._nameWatcherId);
++ this._nameWatcherId = 0;
++ }
+ MessageTray.Source.prototype.destroy.call(this);
+ }
+ };
+diff --git a/js/ui/scripting.js b/js/ui/scripting.js
+index 42c4f6d..9163d29 100644
+--- a/js/ui/scripting.js
++++ b/js/ui/scripting.js
+@@ -1,6 +1,5 @@
+ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
+
+-const DBus = imports.dbus;
+ const Gio = imports.gi.Gio;
+ const Mainloop = imports.mainloop;
+ const Meta = imports.gi.Meta;
+@@ -70,24 +69,21 @@ function waitLeisure() {
+ };
+ }
+
+-const PerfHelperIface = {
+- name: 'org.Cinnamon.PerfHelper',
+- methods: [{ name: 'CreateWindow', inSignature: 'iibb', outSignature: '' },
+- { name: 'WaitWindows', inSignature: '', outSignature: '' },
+- { name: 'DestroyWindows', inSignature: '', outSignature: ''}]
+-};
+-
+-const PerfHelper = function () {
+- this._init();
+-};
+-
+-PerfHelper.prototype = {
+- _init: function() {
+- DBus.session.proxifyObject(this, 'org.Cinnamon.PerfHelper', '/org/Cinnamon/PerfHelper');
+- }
+-};
+-
+-DBus.proxifyPrototype(PerfHelper.prototype, PerfHelperIface);
++const PerfHelperIface =
++
++
++
++
++
++
++
++
++;
++
++var PerfHelperProxy = Gio.DBusProxy.makeProxyWrapper(PerfHelperIface);
++function PerfHelper() {
++ return new PerfHelperProxy(Gio.DBus.session, 'org.gnome.Shell.PerfHelper', '/org/gnome/Shell/PerfHelper');
++}
+
+ let _perfHelper = null;
+ function _getPerfHelper() {
+--
+1.8.1.6
+
+
+From d85e078c0ed09a8b9f8d3ea2ebec1043b6d150c1 Mon Sep 17 00:00:00 2001
+From: dalcde
+Date: Tue, 16 Apr 2013 16:58:30 +0800
+Subject: [PATCH 07/15] [GDBus][Sound/Power Applet] Fix dbus port issues
+
+---
+ .../cinnamon/applets/power@cinnamon.org/applet.js | 2 +-
+ .../cinnamon/applets/sound@cinnamon.org/applet.js | 83 ++++++++++------------
+ 2 files changed, 37 insertions(+), 48 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index b6b2bcd..fad39ab 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -212,7 +212,7 @@ MyApplet.prototype = {
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+ this.menu.addSettingsAction(_("Power Settings"), 'power');
+
+- this._smProxy.connect('PropertiesChanged', Lang.bind(this, this._devicesChanged));
++ this._smProxy.connectSignal('PropertiesChanged', Lang.bind(this, this._devicesChanged));
+ this._devicesChanged();
+ }
+ catch (e) {
+diff --git a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+index 5bfaf26..52b8cde 100644
+--- a/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/sound@cinnamon.org/applet.js
+@@ -37,7 +37,7 @@ const MediaServer2PlayerIFace =
+
+
+
+-
++
+
+
+
+@@ -256,23 +256,20 @@ Player.prototype = {
+ this._trackControls.set_child(this.controls);
+ this.addActor(this._trackControls);
+
+- this._mediaServer.getRaise(Lang.bind(this, function(sender, raise) {
+- if (raise) {
+- this._raiseButton = new ControlButton('go-up',
+- Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); }));
+- this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player"));
+- this.controls.add_actor(this._raiseButton.getActor());
+- }
+- }));
+-
+- this._mediaServer.getQuit(Lang.bind(this, function(sender, quit) {
+- if (quit) {
+- this._quitButton = new ControlButton('window-close',
+- Lang.bind(this, function () { this._mediaServer.QuitRemote(); }));
+- this.controls.add_actor(this._quitButton.getActor());
+- this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player"));
+- }
+- }));
++ let CanRaise = this._mediaServer.CanRaise;
++ let CanQuit = this._mediaServer.CanQuit;
++ if (CanRaise) {
++ this._raiseButton = new ControlButton('go-up',
++ Lang.bind(this, function () { this._mediaServer.RaiseRemote(); this._system_status_button.menu.actor.hide(); }));
++ this._raiseButtonTooltip = new Tooltips.Tooltip(this._raiseButton.button, _("Open Player"));
++ this.controls.add_actor(this._raiseButton.getActor());
++ }
++ if (CanQuit) {
++ this._quitButton = new ControlButton('window-close',
++ Lang.bind(this, function () { this._mediaServer.QuitRemote(); }));
++ this.controls.add_actor(this._quitButton.getActor());
++ this._quitButtonTooltip = new Tooltips.Tooltip(this._quitButton.button, _("Quit Player"));
++ }
+
+ /* this players don't support seek */
+ if (support_seek.indexOf(this._name) == -1)
+@@ -283,14 +280,14 @@ Player.prototype = {
+ this._currentTime = 0;
+ this._getPosition();
+
+- this._prop.connect('PropertiesChanged', Lang.bind(this, function(sender, iface, value) {
++ this._prop.connectSignal('PropertiesChanged', Lang.bind(this, function(sender, iface, value) {
+ if (value["PlaybackStatus"])
+- this._setStatus(iface, value["PlaybackStatus"]);
++ this._setStatus(value["PlaybackStatus"]);
+ if (value["Metadata"])
+- this._setMetadata(iface, value["Metadata"]);
++ this._setMetadata(value["Metadata"]);
+ }));
+
+- this._mediaServerPlayer.connect('Seeked', Lang.bind(this, function(sender, value) {
++ this._mediaServerPlayer.connectSignal('Seeked', Lang.bind(this, function(sender, iface, [value]) {
+ this._setPosition(sender, value);
+ }));
+
+@@ -315,19 +312,17 @@ Player.prototype = {
+ },
+
+ _getPosition: function() {
+- this._mediaServerPlayer.getPosition(Lang.bind(this,
+- this._setPosition
+- ));
++ this._setPosition(this._mediaServerPlayer.Position);
+ Mainloop.timeout_add(1000, Lang.bind(this, this._getPosition));
+ },
+
+- _setMetadata: function(sender, metadata) {
++ _setMetadata: function(metadata) {
+ if (metadata["mpris:length"]) {
+ // song length in secs
+- this._songLength = metadata["mpris:length"] / 1000000;
++ this._songLength = metadata["mpris:length"].unpack() / 1000000;
+ // FIXME upstream
+ if (this._name == "quodlibet")
+- this._songLength = metadata["mpris:length"] / 1000;
++ this._songLength = metadata["mpris:length"].unpack() / 1000;
+ // reset timer
+ this._stopTimer();
+ if (this._playerStatus == "Playing")
+@@ -338,15 +333,15 @@ Player.prototype = {
+ this._stopTimer();
+ }
+ if (metadata["xesam:artist"])
+- this._artist.setLabel(metadata["xesam:artist"].toString());
++ this._artist.setLabel(metadata["xesam:artist"].unpack());
+ else
+ this._artist.setLabel(_("Unknown Artist"));
+ if (metadata["xesam:album"])
+- this._album.setLabel(metadata["xesam:album"].toString());
++ this._album.setLabel(metadata["xesam:album"].unpack());
+ else
+ this._album.setLabel(_("Unknown Album"));
+ if (metadata["xesam:title"])
+- this._title.setLabel(metadata["xesam:title"].toString());
++ this._title.setLabel(metadata["xesam:title"].unpack());
+ else
+ this._title.setLabel(_("Unknown Title"));
+ /*if (metadata["mpris:trackid"]) {
+@@ -359,8 +354,8 @@ Player.prototype = {
+
+ let change = false;
+ if (metadata["mpris:artUrl"]) {
+- if (this._trackCoverFile != metadata["mpris:artUrl"].toString()) {
+- this._trackCoverFile = metadata["mpris:artUrl"].toString();
++ if (this._trackCoverFile != metadata["mpris:artUrl"].unpack()) {
++ this._trackCoverFile = metadata["mpris:artUrl"].unpack();
+ change = true;
+ }
+ }
+@@ -392,12 +387,10 @@ Player.prototype = {
+ },
+
+ _getMetadata: function() {
+- this._mediaServerPlayer.getMetadata(Lang.bind(this,
+- this._setMetadata
+- ));
++ this._setMetadata(this._mediaServerPlayer.Metadata);
+ },
+
+- _setStatus: function(sender, status) {
++ _setStatus: function(status) {
+ this._playerStatus = status;
+ if (status == "Playing") {
+ this._playButton.setIcon("media-playback-pause");
+@@ -416,15 +409,11 @@ Player.prototype = {
+ },
+
+ _getStatus: function() {
+- this._mediaServerPlayer.getPlaybackStatus(Lang.bind(this,
+- this._setStatus
+- ));
++ this._setStatus(this._mediaServerPlayer.PlaybackStatus);
+ },
+
+ _updateRate: function() {
+- this._mediaServerPlayer.getRate(Lang.bind(this, function(sender, rate) {
+- this._rate = rate;
+- }));
++ this._rate = this._mediaServerPlayer.Rate;
+ },
+
+ _updateTimer: function() {
+@@ -569,7 +558,7 @@ MyApplet.prototype = {
+ this._players = {};
+ // watch players
+ for (var p=0; p
+Date: Fri, 19 Apr 2013 19:09:18 -0400
+Subject: [PATCH 08/15] Fix gicon error - power applet
+
+---
+ files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index fad39ab..3a13eab 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -323,7 +323,7 @@ MyApplet.prototype = {
+ let icon = this._proxy.Icon;
+ if (icon) {
+ let gicon = Gio.icon_new_for_string(icon);
+- this.setGIcon(gicon);
++ this._applet_icon.gicon = gicon
+ this.actor.show();
+ } else {
+ this.menu.close();
+--
+1.8.1.6
+
+
+From 3d78b5c929e7e3b0ee24d4b537492740e7bebf2f Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Fri, 19 Apr 2013 19:44:33 -0400
+Subject: [PATCH 09/15] Remove unused
+
+---
+ src/cinnamon-background-manager.c | 34 ----------------------------------
+ 1 file changed, 34 deletions(-)
+
+diff --git a/src/cinnamon-background-manager.c b/src/cinnamon-background-manager.c
+index 9d95250..67427ed 100644
+--- a/src/cinnamon-background-manager.c
++++ b/src/cinnamon-background-manager.c
+@@ -66,8 +66,6 @@ struct CinnamonBackgroundManagerPrivate
+
+ G_DEFINE_TYPE (CinnamonBackgroundManager, cinnamon_background_manager, G_TYPE_OBJECT)
+
+-static gpointer manager_object = NULL;
+-
+ static gboolean
+ dont_draw_background (CinnamonBackgroundManager *manager)
+ {
+@@ -223,36 +221,6 @@ struct CinnamonBackgroundManagerPrivate
+ }
+
+ static void
+-draw_background_after_session_loads (CinnamonBackgroundManager *manager)
+-{
+- GError *error = NULL;
+- GDBusProxyFlags flags;
+-
+- flags = G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
+- G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START;
+- manager->priv->proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+- flags,
+- NULL, /* GDBusInterfaceInfo */
+- "org.gnome.SessionManager",
+- "/org/gnome/SessionManager",
+- "org.gnome.SessionManager",
+- NULL, /* GCancellable */
+- &error);
+- if (manager->priv->proxy == NULL) {
+- g_warning ("Could not listen to session manager: %s",
+- error->message);
+- g_error_free (error);
+- return;
+- }
+-
+- manager->priv->proxy_signal_id = g_signal_connect (manager->priv->proxy,
+- "g-signal",
+- G_CALLBACK (on_session_manager_signal),
+- manager);
+-}
+-
+-
+-static void
+ disconnect_screen_signals (CinnamonBackgroundManager *manager)
+ {
+ GdkDisplay *display;
+@@ -312,8 +280,6 @@ struct CinnamonBackgroundManagerPrivate
+ G_CALLBACK (draw_background_changed), manager);
+
+ setup_bg_and_draw_background (manager);
+- //draw_background_after_session_loads (manager);
+-
+
+ return TRUE;
+ }
+--
+1.8.1.6
+
+
+From d08b882470b135591fb99bd9ff7c63619fcaea82 Mon Sep 17 00:00:00 2001
+From: dalcde
+Date: Sat, 20 Apr 2013 15:42:13 +0800
+Subject: [PATCH 10/15] [GDBus][Power applet] Some fixes and cleanup
+
+---
+ .../cinnamon/applets/power@cinnamon.org/applet.js | 52 ++++++----------------
+ 1 file changed, 14 insertions(+), 38 deletions(-)
+
+diff --git a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+index 3a13eab..5f81d91 100644
+--- a/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
++++ b/files/usr/share/cinnamon/applets/power@cinnamon.org/applet.js
+@@ -48,40 +48,11 @@ const PowerManagerInterface =
+
+
+
+-
+-
+-
+-
+-
+
+ ;
+
+ const PowerManagerProxy = Gio.DBusProxy.makeProxyWrapper(PowerManagerInterface);
+
+-const SettingsManagerInterface =
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-;
+-
+-const SettingsManagerProxy = Gio.DBusProxy.makeProxyWrapper(SettingsManagerInterface);
+-
+ function DeviceItem() {
+ this._init.apply(this, arguments);
+ }
+@@ -156,8 +127,16 @@ MyApplet.prototype = {
+ this.menuManager.addMenu(this.menu);
+
+ //this.set_applet_icon_symbolic_name('battery-missing');
+- this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
+- this._smProxy = new SettingsManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH);
++ this._proxy = new PowerManagerProxy(Gio.DBus.session, BUS_NAME, OBJECT_PATH,
++ Lang.bind(this, function(proxy, error) {
++ if (error) {
++ global.log(error.message);
++
++ return;
++ }
++ this._proxy.connect('g-properties-changed', Lang.bind(this, this._devicesChanged));
++ this._devicesChanged();
++ }));
+
+ let icon = this.actor.get_children()[0];
+ this.actor.remove_actor(icon);
+@@ -211,9 +190,6 @@ MyApplet.prototype = {
+
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+ this.menu.addSettingsAction(_("Power Settings"), 'power');
+-
+- this._smProxy.connectSignal('PropertiesChanged', Lang.bind(this, this._devicesChanged));
+- this._devicesChanged();
+ }
+ catch (e) {
+ global.logError(e);
+@@ -245,14 +221,14 @@ MyApplet.prototype = {
+ },
+
+ _readPrimaryDevice: function() {
+- this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(device, error) {
++ this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(result, error) {
+ if (error) {
+ this._hasPrimary = false;
+ this._primaryDeviceId = null;
+ this._batteryItem.actor.hide();
+ return;
+ }
+- let [device_id, device_type, icon, percentage, state, seconds] = device;
++ let [[device_id, device_type, icon, percentage, state, seconds]] = result;
+ if (device_type == UPDeviceType.BATTERY) {
+ this._hasPrimary = true;
+ let time = Math.round(seconds / 60);
+@@ -290,7 +266,7 @@ MyApplet.prototype = {
+ },
+
+ _readOtherDevices: function() {
+- this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
++ this._proxy.GetDevicesRemote(Lang.bind(this, function([devices], error) {
+ this._deviceItems.forEach(function(i) { i.destroy(); });
+ this._deviceItems = [];
+
+@@ -336,7 +312,7 @@ MyApplet.prototype = {
+ },
+
+ _updateLabel: function() {
+- this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
++ this._proxy.GetDevicesRemote(Lang.bind(this, function([devices], error) {
+ if (error) {
+ this._mainLabel.set_text("");
+ return;
+--
+1.8.1.6
+
+
+From c93e9746b321ad6d0aa38ec28c15fe7b3f18f8f7 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Sat, 20 Apr 2013 10:59:54 -0400
+Subject: [PATCH 11/15] Move CLUTTER_DISABLE_XINPUT to session startup file
+
+---
+ files/usr/bin/gnome-session-cinnamon | 2 +-
+ src/main.c | 3 ---
+ 2 files changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/files/usr/bin/gnome-session-cinnamon b/files/usr/bin/gnome-session-cinnamon
+index 315f135..56c37f5 100755
+--- a/files/usr/bin/gnome-session-cinnamon
++++ b/files/usr/bin/gnome-session-cinnamon
+@@ -1,3 +1,3 @@
+ #! /bin/sh
+-exec gnome-session --session cinnamon "$@"
++exec CLUTTER_DISABLE_XINPUT=1 gnome-session --session cinnamon "$@"
+
+diff --git a/src/main.c b/src/main.c
+index 9d37975..418fb60 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -257,9 +257,6 @@
+
+ g_option_context_free (ctx);
+
+- /* Disable XInput extension - required for 3.8 compatibility */
+- g_setenv ("CLUTTER_DISABLE_XINPUT", "1", TRUE);
+-
+ meta_plugin_type_register (gnome_cinnamon_plugin_get_type ());
+
+ /* Prevent meta_init() from causing gtk to load gail and at-bridge */
+--
+1.8.1.6
+
+
+From de1719e63518884cad6c9d63d508f737eab35d49 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Sat, 20 Apr 2013 12:23:29 -0400
+Subject: [PATCH 12/15] Add Xinput disable to cinnamon2d
+
+---
+ files/usr/bin/cinnamon2d | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/bin/cinnamon2d b/files/usr/bin/cinnamon2d
+index 1eced99..7f42517 100755
+--- a/files/usr/bin/cinnamon2d
++++ b/files/usr/bin/cinnamon2d
+@@ -1,2 +1,2 @@
+ #!/bin/bash
+-CLUTTER_PAINT=disable-clipped-redraws:disable-culling LIBGL_ALWAYS_SOFTWARE=1 CINNAMON_SOFTWARE_RENDERING=1 CINNAMON_SLOWDOWN_FACTOR=0.0001 MUFFIN_NO_SHADOWS=1 CLUTTER_DEFAULT_FPS=15 cinnamon $@
++CLUTTER_DISABLE_XINPUT=1 CLUTTER_PAINT=disable-clipped-redraws:disable-culling LIBGL_ALWAYS_SOFTWARE=1 CINNAMON_SOFTWARE_RENDERING=1 CINNAMON_SLOWDOWN_FACTOR=0.0001 MUFFIN_NO_SHADOWS=1 CLUTTER_DEFAULT_FPS=15 cinnamon $@
+--
+1.8.1.6
+
+
+From 15d57d1c15f34d44b23f74b21929d996d4465afb Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Sat, 20 Apr 2013 12:29:43 -0400
+Subject: [PATCH 13/15] Fix session file
+
+---
+ files/usr/bin/gnome-session-cinnamon | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/files/usr/bin/gnome-session-cinnamon b/files/usr/bin/gnome-session-cinnamon
+index 56c37f5..31c9eff 100755
+--- a/files/usr/bin/gnome-session-cinnamon
++++ b/files/usr/bin/gnome-session-cinnamon
+@@ -1,3 +1,3 @@
+ #! /bin/sh
+-exec CLUTTER_DISABLE_XINPUT=1 gnome-session --session cinnamon "$@"
++CLUTTER_DISABLE_XINPUT=1 exec gnome-session --session cinnamon "$@"
+
+--
+1.8.1.6
+
+
+From 03436393c322fd97d8216c3481d28cd34833c656 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Sat, 20 Apr 2013 12:36:45 -0400
+Subject: [PATCH 14/15] Add cinnamon3d command
+
+---
+ files/usr/bin/cinnamon3d | 2 ++
+ 1 file changed, 2 insertions(+)
+ create mode 100644 files/usr/bin/cinnamon3d
+
+diff --git a/files/usr/bin/cinnamon3d b/files/usr/bin/cinnamon3d
+new file mode 100644
+index 0000000..4891783
+--- /dev/null
++++ b/files/usr/bin/cinnamon3d
+@@ -0,0 +1,2 @@
++#!/bin/bash
++CLUTTER_DISABLE_XINPUT=1 cinnamon $@
+--
+1.8.1.6
+
+
+From 850da270967622b95be9e0c5edd8e230eb4be5a1 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Sat, 20 Apr 2013 12:37:26 -0400
+Subject: [PATCH 15/15] Fix perms
+
+---
+ files/usr/bin/cinnamon3d | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+ mode change 100644 => 100755 files/usr/bin/cinnamon3d
+
+diff --git a/files/usr/bin/cinnamon3d b/files/usr/bin/cinnamon3d
+old mode 100644
+new mode 100755
+--
+1.8.1.6
+
diff --git a/community/clinica/PKGBUILD b/community/clinica/PKGBUILD
index 54794584f..e7ec9d64e 100644
--- a/community/clinica/PKGBUILD
+++ b/community/clinica/PKGBUILD
@@ -1,15 +1,15 @@
-# $Id: PKGBUILD 78165 2012-10-16 15:57:54Z bgyorgy $
+# $Id: PKGBUILD 88675 2013-04-21 22:16:41Z heftig $
# Maintainer: Giovanni Scafora
# Contributor: Gianmarco Brocchi
pkgname=clinica
pkgver=0.2.1
-pkgrel=5
+pkgrel=6
pkgdesc="Simple medical records manager"
arch=('i686' 'x86_64')
url="https://launchpad.net/clinica-project"
license=('GPL3')
-depends=('libgee' 'libpeas' 'dconf')
+depends=('libgee06' 'libpeas' 'dconf')
makedepends=('vala' 'intltool' 'python')
optdepends=('python2-gobject: for Agenzia del Farmaco plugin')
install=clinica.install
diff --git a/community/couchdb/PKGBUILD b/community/couchdb/PKGBUILD
index c6dd92e95..d60f4c930 100644
--- a/community/couchdb/PKGBUILD
+++ b/community/couchdb/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 87877 2013-04-08 12:24:37Z spupykin $
+# $Id: PKGBUILD 88676 2013-04-21 22:16:43Z heftig $
# Maintainer: Sergej Pupykin
# Contributor: Vitaliy Berdinskikh ur6lad[at]i.ua
# Contributor: Michael Fellinger
pkgname=couchdb
pkgver=1.2.2
-pkgrel=1
+pkgrel=2
pkgdesc="A document-oriented database that can be queried and indexed in a MapReduce fashion using JSON"
arch=('i686' 'x86_64')
url="http://couchdb.apache.org"
diff --git a/community/cython/PKGBUILD b/community/cython/PKGBUILD
index d90482aa5..52bea4ed9 100644
--- a/community/cython/PKGBUILD
+++ b/community/cython/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 83887 2013-02-06 11:39:48Z spupykin $
+# $Id: PKGBUILD 88776 2013-04-22 10:14:05Z spupykin $
# Maintainer: Sergej Pupykin
# Contributor: Igor Scabini
pkgname=('cython' 'cython2')
pkgbase=cython
-pkgver=0.18
+pkgver=0.19
pkgrel=1
pkgdesc="C-Extensions for Python "
arch=(i686 x86_64)
@@ -12,7 +12,7 @@ url="http://www.cython.org"
license=('APACHE')
makedepends=('python-distribute' 'python2-distribute')
source=("http://cython.org/release/Cython-$pkgver.tar.gz")
-md5sums=('6a72d14e72f3df597b34ac326152f8d2')
+md5sums=('76989337dee4cf7afdcb5cde514423f8')
build() {
true
diff --git a/community/denemo/PKGBUILD b/community/denemo/PKGBUILD
index d48e7169f..bd1162ece 100644
--- a/community/denemo/PKGBUILD
+++ b/community/denemo/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 87840 2013-04-08 09:20:17Z spupykin $
+# $Id: PKGBUILD 88689 2013-04-21 22:17:06Z heftig $
# Maintainer: Sergej Pupykin
# Contributor: Philipp Sandhaus
# Contributor: Robert Emil Berge
@@ -6,7 +6,7 @@
pkgname=denemo
pkgver=1.0.0
-pkgrel=1
+pkgrel=3
pkgdesc="A music score editor"
arch=('i686' 'x86_64')
url="http://www.denemo.org"
diff --git a/community/elinks/PKGBUILD b/community/elinks/PKGBUILD
index 6b6f6cd7a..2b9d1139c 100644
--- a/community/elinks/PKGBUILD
+++ b/community/elinks/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 81104 2012-12-12 00:47:30Z eric $
+# $Id: PKGBUILD 88677 2013-04-21 22:16:44Z heftig $
# Maintainer: Kyle Keen
# Maintainer: Sergej Pupykin
# Maintainer: Andrea Scarpino
@@ -8,39 +8,19 @@
pkgname=elinks
pkgver=0.13
_commit="9313aae9062e1d9ff084858fa6844259cd8237d6"
-pkgrel=11
+pkgrel=12
pkgdesc="An advanced and well-established feature-rich text mode web browser."
arch=("i686" "x86_64")
url="http://elinks.or.cz"
license=('GPL')
-depends=('bzip2' 'expat>=2.0' 'gpm>=1.20.4' 'openssl' 'lua51' 'libidn' 'js'
+depends=('bzip2' 'expat>=2.0' 'gpm>=1.20.4' 'openssl' 'lua51' 'libidn' 'js185'
'gc' 'tre')
makedepends=('git')
-source=()
-md5sums=()
-
-__gitroot="http://elinks.cz/elinks.git"
-__gitname="elinks"
+source=("git+http://elinks.cz/elinks.git#commit=$_commit")
+md5sums=('SKIP')
build() {
- cd "$srcdir"
- msg "Connecting to GIT server...."
-
- if [ -d $__gitname ] ; then
- cd $__gitname && git pull origin
- msg "The local files are updated."
- else
- git clone $__gitroot
- fi
-
- msg "GIT checkout done or server timeout"
- msg "Starting make..."
-
- rm -rf "$srcdir/$__gitname-build"
- git clone "$srcdir/$__gitname" "$srcdir/$__gitname-build"
- cd "$srcdir/$__gitname-build"
- git checkout "$_commit"
-
+ cd elinks
[ -x configure ] || sh autogen.sh
./configure --prefix=/usr --mandir=/usr/share/man \
--sysconfdir=/etc \
@@ -51,7 +31,7 @@ build() {
}
package() {
- cd "$srcdir/$__gitname-build"
+ cd elinks
make DESTDIR="$pkgdir" install
rm -f "$pkgdir/usr/share/locale/locale.alias"
diff --git a/community/freewrl/PKGBUILD b/community/freewrl/PKGBUILD
index ec562da65..a5eddbbe9 100644
--- a/community/freewrl/PKGBUILD
+++ b/community/freewrl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 78928 2012-10-27 23:44:21Z ebelanger $
+# $Id: PKGBUILD 88678 2013-04-21 22:16:45Z heftig $
# Maintainer: Sergej Pupykin
# Contributor: Sergej Pupykin
pkgname=freewrl
pkgver=1.22.13.1
_pkgver=1.22.13
-pkgrel=3
+pkgrel=4
pkgdesc="VRML viewer"
arch=('i686' 'x86_64')
url="http://freewrl.sourceforge.net/"
diff --git a/community/gedit-plugins/PKGBUILD b/community/gedit-plugins/PKGBUILD
index 9db934a71..161682e5a 100644
--- a/community/gedit-plugins/PKGBUILD
+++ b/community/gedit-plugins/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 79119 2012-10-30 23:06:21Z heftig $
+# $Id: PKGBUILD 88687 2013-04-21 22:17:03Z heftig $
# Maintainer: Ionut Biru
# Contributor: Alexander Rødseth
# Contributor: Hugo Doria
@@ -6,20 +6,20 @@
# Contributor: zhuqin
pkgname=gedit-plugins
-pkgver=3.6.1
+pkgver=3.8.1
pkgrel=1
pkgdesc="Plugins for gedit"
-arch=('x86_64' 'i686')
-license=('GPL')
+arch=(x86_64 i686)
+license=(GPL)
url="http://live.gnome.org/GeditPlugins"
-depends=('gedit' 'dbus-python')
+depends=(gedit python-dbus)
+makedepends=(intltool gnome-doc-utils vte3)
optdepends=('gucharmap: for charmap plugin'
'vte3: for embedded terminal')
-makedepends=('intltool' 'gnome-doc-utils' 'vte3')
options=('!libtool' '!emptydirs')
install=gedit-plugins.install
source=("http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver:0:3}/$pkgname-$pkgver.tar.xz")
-sha256sums=('c5e92830e6029110bf1117bd9f31b23a9ad907210b8cb37039772f5bfcf6d174')
+sha256sums=('659d379f9edfbba2db37522991c734c5d50e03eb1f70985e978d93a718273141')
build() {
cd $pkgname-$pkgver
diff --git a/community/giggle/PKGBUILD b/community/giggle/PKGBUILD
index dc22aa950..13b652f78 100644
--- a/community/giggle/PKGBUILD
+++ b/community/giggle/PKGBUILD
@@ -1,31 +1,40 @@
-# $Id: PKGBUILD 79629 2012-11-09 09:55:35Z ibiru $
+# $Id: PKGBUILD 88688 2013-04-21 22:17:05Z heftig $
# Maintainer : Ionut Biru
# Contributor: neodreams
pkgname=giggle
pkgver=0.7
-pkgrel=1
+pkgrel=2
pkgdesc="Git repository viewer"
-arch=('i686' 'x86_64')
+arch=(i686 x86_64)
url="http://live.gnome.org/giggle"
-license=('GPL')
-depends=('git' 'gtksourceview3' 'vte3')
-makedepends=('intltool' 'itstool')
-source=(http://ftp.gnome.org/pub/GNOME/sources/giggle/0.7/$pkgname-$pkgver.tar.xz)
+license=(GPL)
+depends=(git gtksourceview3 vte3 desktop-file-utils hicolor-icon-theme)
+makedepends=(intltool itstool)
options=(!libtool)
install=giggle.install
-sha256sums=('ae2e2237fa0d0999d99d0a0ee9b7ec147e80bd2472d59a045b2b01eb02261f59')
+source=(http://ftp.gnome.org/pub/GNOME/sources/giggle/0.7/$pkgname-$pkgver.tar.xz
+ gtksourceview3.7.patch)
+sha256sums=('ae2e2237fa0d0999d99d0a0ee9b7ec147e80bd2472d59a045b2b01eb02261f59'
+ 'ca0b841d11bb5072741784dbeb72705eddf8e2bde780b8712355d5b66e456b37')
-build() {
+prepare() {
cd $pkgname-$pkgver
+ patch -Np1 -i ../gtksourceview3.7.patch
+}
- ./configure \
- --prefix=/usr
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
make
}
-package() {
+check() {
cd $pkgname-$pkgver
+ make check
+}
+package() {
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
diff --git a/community/giggle/gtksourceview3.7.patch b/community/giggle/gtksourceview3.7.patch
new file mode 100644
index 000000000..eb86cdeef
--- /dev/null
+++ b/community/giggle/gtksourceview3.7.patch
@@ -0,0 +1,36 @@
+From 9999a7ff573b7f3320c2065e8d0eaf0fea32a41b Mon Sep 17 00:00:00 2001
+From: Dominique Leuenberger
+Date: Wed, 03 Apr 2013 20:26:17 +0000
+Subject: Directly include gtksourcebuffer.h
+
+Until gtksourceview 3.7, it was included indirectly by gtksourceview.h.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=697220
+---
+diff --git a/src/giggle-diff-view.c b/src/giggle-diff-view.c
+index 3ded28d..ff6bbe3 100644
+--- a/src/giggle-diff-view.c
++++ b/src/giggle-diff-view.c
+@@ -29,6 +29,8 @@
+ #include
+ #include
+
++#include
++
+ typedef struct GiggleDiffViewPriv GiggleDiffViewPriv;
+ typedef struct GiggleDiffViewFile GiggleDiffViewFile;
+ typedef struct GiggleDiffViewHunk GiggleDiffViewHunk;
+diff --git a/src/giggle-view-file.c b/src/giggle-view-file.c
+index 130af4a..517858d 100644
+--- a/src/giggle-view-file.c
++++ b/src/giggle-view-file.c
+@@ -40,6 +40,7 @@
+
+ #include
+ #include
++#include
+
+ #define GIGGLE_TYPE_VIEW_FILE_SNAPSHOT (giggle_view_file_snapshot_get_type ())
+ #define GIGGLE_VIEW_FILE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIGGLE_TYPE_VIEW_FILE_SNAPSHOT, GiggleViewFileSnapshot))
+--
+cgit v0.9.1
diff --git a/community/gitg/PKGBUILD b/community/gitg/PKGBUILD
index 1bb606e4e..68d902e4f 100644
--- a/community/gitg/PKGBUILD
+++ b/community/gitg/PKGBUILD
@@ -1,36 +1,28 @@
-# $Id: PKGBUILD 57270 2011-10-25 06:09:22Z ebelanger $
-# Maintainer: Brad Fanella
-# Contributor: Blaž Tomžič
-# Contributor: Thomas Dziedzic < gostrc at gmail >
-# Contributor: Christoph Zeiler
-# Contributor: M Rawash
-# Contributor: DonVla
+# $Id: PKGBUILD 88690 2013-04-21 22:17:07Z heftig $
+# Maintainer: Eric Bélanger
pkgname=gitg
-pkgver=0.2.5
+pkgver=0.2.7
pkgrel=1
pkgdesc='A GIT repository viewer based on GTK+'
arch=('i686' 'x86_64')
-url='http://trac.novowork.com/gitg/'
+url='https://git.gnome.org/browse/gitg/'
license=('GPL')
-depends=('dconf' 'gtksourceview3' 'git' 'desktop-file-utils' 'gsettings-desktop-schemas' \
+depends=('gtksourceview3' 'git' 'desktop-file-utils' 'gsettings-desktop-schemas' \
'hicolor-icon-theme')
makedepends=('intltool')
options=('!libtool')
-install="${pkgname}.install"
-source=("ftp://ftp.gnome.org/pub/GNOME/sources/gitg/0.2/${pkgname}-${pkgver}.tar.xz")
-sha256sums=('d3dfff65834d8371d43b2e91926af1421f8ec2128580dfeceb6925b6b1ce6d8c')
+install=gitg.install
+source=(ftp://ftp.gnome.org/pub/GNOME/sources/gitg/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz)
+sha1sums=('7b1428819666e4797d64dc94bb1624d5e7b75e6a')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- ./configure \
- --prefix=/usr
- make
+ cd ${pkgname}-${pkgver}
+ ./configure --prefix=/usr
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
-
- make DESTDIR="${pkgdir}" install
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
}
diff --git a/community/gitg/gitg.install b/community/gitg/gitg.install
index 7b356a632..4b90c879e 100644
--- a/community/gitg/gitg.install
+++ b/community/gitg/gitg.install
@@ -1,19 +1,13 @@
-# Maintainer: Brad Fanella
-# Contributor: DonVla
-# gitg install file
-
post_install() {
- usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ glib-compile-schemas usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
}
post_upgrade() {
- post_install $1
+ post_install $1
}
post_remove() {
- usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
- update-desktop-database -q
- gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ post_install $1
}
diff --git a/community/gnome-applets/01_battstat_upower.patch b/community/gnome-applets/01_battstat_upower.patch
new file mode 100644
index 000000000..fa31e720b
--- /dev/null
+++ b/community/gnome-applets/01_battstat_upower.patch
@@ -0,0 +1,622 @@
+From 18a2f4aa3ba2c8c9fc3718b15a9ab366fdd35f05 Mon Sep 17 00:00:00 2001
+From: Joachim Breitner
+Date: Mon, 5 Jul 2010 12:20:04 +0200
+Subject: [PATCH] [battstat applet] upower support
+
+As HAL is being deprecated, the battstat applet is adjusted to talk to
+upower, using libupower-glib. (Bug #607254)
+---
+ battstat/Makefile.am | 6 +-
+ battstat/battstat-upower.c | 330 +++++++++++++++++++++++++++++++++++++++++
+ battstat/battstat-upower.h | 33 ++++
+ battstat/battstat_applet.c | 7 +-
+ battstat/docs/C/battstat.xml | 18 ++-
+ battstat/docs/de/battstat.xml | 22 +++-
+ battstat/docs/eu/battstat.xml | 20 ++-
+ battstat/power-management.c | 66 +++++++--
+ configure.in | 22 +++
+ 9 files changed, 493 insertions(+), 31 deletions(-)
+ create mode 100644 battstat/battstat-upower.c
+ create mode 100644 battstat/battstat-upower.h
+
+Index: gnome-applets-3.4.1/battstat/Makefile.am
+===================================================================
+--- gnome-applets-3.4.1.orig/battstat/Makefile.am 2012-04-13 19:02:29.000000000 +0200
++++ gnome-applets-3.4.1/battstat/Makefile.am 2012-04-19 00:28:17.246029051 +0200
+@@ -27,6 +27,7 @@
+ $(GNOME_APPLETS_CFLAGS) \
+ $(LIBNOTIFY_CFLAGS) \
+ $(HAL_CFLAGS) \
++ $(UPOWER_CFLAGS) \
+ $(APMINC) \
+ $(ACPIINC) \
+ $(WARN_CFLAGS) \
+@@ -48,13 +49,17 @@
+ acpi-freebsd.c \
+ acpi-freebsd.h \
+ battstat-hal.c \
+- battstat-hal.h
++ battstat-hal.h \
++ battstat-upower.c \
++ battstat-upower.h
+
+
+ battstat_applet_2_LDADD = \
+ $(GNOME_APPLETS_LIBS) \
+ $(LIBNOTIFY_LIBS) \
+ $(HAL_LIBS) \
++ $(UPOWER_LIBS) \
++ $(LIBM) \
+ $(APMLIB)
+
+ schemasdir = @GCONF_SCHEMA_FILE_DIR@
+Index: gnome-applets-3.4.1/battstat/battstat-upower.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gnome-applets-3.4.1/battstat/battstat-upower.c 2012-04-19 00:28:17.246029051 +0200
+@@ -0,0 +1,301 @@
++/*
++ * Copyright (C) 2010 by Joachim Breitner
++ *
++ * Based on battstat-hal.c:
++ * Copyright (C) 2005 by Ryan Lortie
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
++ *
++ * $Id$
++ */
++
++#include
++
++#ifdef HAVE_UPOWER
++
++#include
++#include
++
++#include "battstat-upower.h"
++
++static UpClient *upc;
++static void (*status_updated_callback) (void);
++
++
++/* status_updated_callback() can not be called directly because at the time of
++ * the device-remove signal, the device is not actually removed from the list
++ * of devices known to the up_client object (see libupower-glib/up-client.c in
++ * upower). Waiting for the next idle timer works around this issue and has has
++ * the additionaly benefit of possibly running status_updated_callback only
++ * once when several events happen very soon after each other.
++ */
++static gboolean status_update_scheduled;
++
++static gboolean
++update_status_idle (gpointer junk)
++{
++ if (status_updated_callback)
++ status_updated_callback ();
++
++ return status_update_scheduled = FALSE;
++}
++
++static void
++schedule_status_callback (void)
++{
++ if (status_update_scheduled)
++ return;
++
++ status_update_scheduled = TRUE;
++ g_idle_add (update_status_idle, NULL);
++}
++
++static void
++device_cb (UpClient *client, UpDevice *device, gpointer user_data) {
++ schedule_status_callback();
++}
++
++/* ---- public functions ---- */
++
++char *
++battstat_upower_initialise (void (*callback) (void))
++{
++ status_updated_callback = callback;
++
++ if( upc != NULL )
++ return g_strdup( "Already initialised!" );
++
++ if( (upc = up_client_new() ) == NULL )
++ goto error_out;
++
++ if (! up_client_enumerate_devices_sync( upc, NULL, NULL ) ) {
++ goto error_shutdownclient;
++ }
++
++ g_signal_connect_after( upc, "device-changed", device_cb, NULL );
++ g_signal_connect_after( upc, "device-added", device_cb, NULL );
++ g_signal_connect_after( upc, "device-removed", device_cb, NULL );
++
++ return NULL;
++
++error_shutdownclient:
++ g_object_unref( upc );
++ upc = NULL;
++
++error_out:
++ return "Can not initialize upower";
++}
++
++void
++battstat_upower_cleanup( void )
++{
++ if( upc == NULL )
++ return;
++
++ g_object_unref( upc );
++ upc = NULL;
++}
++
++#include "battstat.h"
++
++/* This function currently exists to allow the multiple batteries supported
++ * by the upower backend to appear as a single composite battery device (since
++ * at the current time this is all that battstat supports).
++ *
++ * This entire function is filled with logic to make multiple batteries
++ * appear as one "composite" battery. Comments included as appropriate.
++ *
++ * For more information about some of the assumptions made in the following
++ * code please see the following mailing list post and the resulting thread:
++ *
++ * http://lists.freedesktop.org/archives/hal/2005-July/002841.html
++ */
++void
++battstat_upower_get_battery_info( BatteryStatus *status )
++{
++
++ GPtrArray *devices = up_client_get_devices( upc );
++
++ /* The calculation to get overall percentage power remaining is as follows:
++ *
++ * Sum( Current charges ) / Sum( Full Capacities )
++ *
++ * We can't just take an average of all of the percentages since this
++ * doesn't deal with the case that one battery might have a larger
++ * capacity than the other.
++ *
++ * In order to do this calculation, we need to keep a running total of
++ * current charge and full capacities.
++ */
++ double current_charge_total = 0, full_capacity_total = 0;
++
++ /* Record the time remaining as reported by upower. This is used in the event
++ * that the system has exactly one battery (since, then, upower is capable
++ * of providing an accurate time remaining report and we should trust it.)
++ */
++ gint64 remaining_time = 0;
++
++ /* The total (dis)charge rate of the system is the sum of the rates of
++ * the individual batteries.
++ */
++ double rate_total = 0;
++
++ /* We need to know if we should report the composite battery as present
++ * at all. The logic is that if at least one actual battery is installed
++ * then the composite battery will be reported to exist.
++ */
++ int present = 0;
++
++ /* We need to know if we are on AC power or not. Eventually, we can look
++ * at the AC adaptor upower devices to determine that. For now, we assume that
++ * if any battery is discharging then we must not be on AC power. Else, by
++ * default, we must be on AC.
++ */
++ int on_ac_power = 1;
++
++ /* Finally, we consider the composite battery to be "charging" if at least
++ * one of the actual batteries in the system is charging.
++ */
++ int charging = 0;
++
++ /* For each physical battery bay... */
++ int i;
++ for( i = 0; i < devices->len; i++ )
++ {
++ UpDevice *upd = g_ptr_array_index( devices, i );
++
++ int type, state;
++ double current_charge, full_capacity, rate;
++ gint64 time_to_full, time_to_empty;
++
++ g_object_get( upd,
++ "kind", &type,
++ "state", &state,
++ "energy", ¤t_charge,
++ "energy-full", &full_capacity,
++ "energy-rate", &rate,
++ "time-to-full", &time_to_full,
++ "time-to-empty", &time_to_empty,
++ NULL );
++
++ /* Only count batteries here */
++
++ if (type != UP_DEVICE_KIND_BATTERY)
++ continue;
++
++ /* At least one battery present -> composite battery is present. */
++ present++;
++
++ /* At least one battery charging -> composite battery is charging. */
++ if( state == UP_DEVICE_STATE_CHARGING )
++ charging = 1;
++
++ /* At least one battery is discharging -> we're not on AC. */
++ if( state == UP_DEVICE_STATE_DISCHARGING )
++ on_ac_power = 0;
++
++ /* Sum the totals for current charge, design capacity, (dis)charge rate. */
++ current_charge_total += current_charge;
++ full_capacity_total += full_capacity;
++ rate_total += rate;
++
++ /* Record remaining time too, incase this is the only battery. */
++ remaining_time = (state == UP_DEVICE_STATE_DISCHARGING ? time_to_empty : time_to_full);
++ }
++
++ if( !present || full_capacity_total <= 0 || (charging && !on_ac_power) )
++ {
++ /* Either no battery is present or something has gone horribly wrong.
++ * In either case we must return that the composite battery is not
++ * present.
++ */
++ status->present = FALSE;
++ status->percent = 0;
++ status->minutes = -1;
++ status->on_ac_power = TRUE;
++ status->charging = FALSE;
++
++ g_ptr_array_unref( devices );
++ return;
++ }
++
++ /* Else, our composite battery is present. */
++ status->present = TRUE;
++
++ /* As per above, overall charge is:
++ *
++ * Sum( Current charges ) / Sum( Full Capacities )
++ */
++ status->percent = ( current_charge_total / full_capacity_total ) * 100.0 + 0.5;
++
++ if( present == 1 )
++ {
++ /* In the case of exactly one battery, report the time remaining figure
++ * from upower directly since it might have come from an authorative source
++ * (ie: the PMU or APM subsystem).
++ *
++ * upower gives remaining time in seconds with a 0 to mean that the
++ * remaining time is unknown. Battstat uses minutes and -1 for
++ * unknown time remaining.
++ */
++
++ if( remaining_time == 0 )
++ status->minutes = -1;
++ else
++ status->minutes = (remaining_time + 30) / 60;
++ }
++ /* Rest of cases to deal with multiple battery systems... */
++ else if( !on_ac_power && rate_total != 0 )
++ {
++ /* Then we're discharging. Calculate time remaining until at zero. */
++
++ double remaining;
++
++ remaining = current_charge_total;
++ remaining /= rate_total;
++ status->minutes = (int) floor( remaining * 60.0 + 0.5 );
++ }
++ else if( charging && rate_total != 0 )
++ {
++ /* Calculate time remaining until charged. For systems with more than
++ * one battery, this code is very approximate. The assumption is that if
++ * one battery reaches full charge before the other that the other will
++ * start charging faster due to the increase in available power (similar
++ * to how a laptop will charge faster if you're not using it).
++ */
++
++ double remaining;
++
++ remaining = full_capacity_total - current_charge_total;
++ if( remaining < 0 )
++ remaining = 0;
++ remaining /= rate_total;
++
++ status->minutes = (int) floor( remaining * 60.0 + 0.5 );
++ }
++ else
++ {
++ /* On AC power and not charging -or- rate is unknown. */
++ status->minutes = -1;
++ }
++
++ /* These are simple and well-explained above. */
++ status->charging = charging;
++ status->on_ac_power = on_ac_power;
++
++ g_ptr_array_unref( devices );
++}
++
++#endif /* HAVE_UPOWER */
+Index: gnome-applets-3.4.1/battstat/battstat-upower.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gnome-applets-3.4.1/battstat/battstat-upower.h 2012-04-19 00:28:17.254029051 +0200
+@@ -0,0 +1,33 @@
++/*
++ * Copyright (C) 2010 by Joachim Breitner
++ *
++ * Based on battstat-hal.h:
++ * Copyright (C) 2005 by Ryan Lortie
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
++ *
++ * $Id$
++ */
++
++#ifndef _battstat_upower_h_
++#define _battstat_upower_h_
++
++char *battstat_upower_initialise (void (*) (void));
++void battstat_upower_cleanup (void);
++
++#include "battstat.h"
++void battstat_upower_get_battery_info (BatteryStatus *status);
++
++#endif /* _battstat_upower_h_ */
+Index: gnome-applets-3.4.1/battstat/battstat_applet.c
+===================================================================
+--- gnome-applets-3.4.1.orig/battstat/battstat_applet.c 2012-04-13 19:02:29.000000000 +0200
++++ gnome-applets-3.4.1/battstat/battstat_applet.c 2012-04-19 00:28:17.254029051 +0200
+@@ -1188,9 +1188,12 @@
+
+ char *comments = g_strdup_printf ("%s\n\n%s",
+ _("This utility shows the status of your laptop battery."),
+- power_management_using_hal () ?
++ power_management_using_upower () ?
++ /* true */ _("upower backend enabled.") :
++ (power_management_using_hal () ?
+ /* true */ _("HAL backend enabled.") :
+- /* false */ _("Legacy (non-HAL) backend enabled."));
++ /* false */ _("Legacy (non-HAL) backend enabled.")
++ ));
+
+ gtk_show_about_dialog( NULL,
+ "version", VERSION,
+Index: gnome-applets-3.4.1/battstat/docs/C/battstat.xml
+===================================================================
+--- gnome-applets-3.4.1.orig/battstat/docs/C/battstat.xml 2012-04-15 15:49:58.000000000 +0200
++++ gnome-applets-3.4.1/battstat/docs/C/battstat.xml 2012-04-19 00:28:17.254029051 +0200
+@@ -226,10 +226,13 @@
+ Power Management Backends
+
+
+- The battery monitor supports a number of power management backends. If it
+- is available, the monitor will attempt to use the freedesktop.org
+- HAL (Hardware Abstraction
+- Layer). If it is unavailable or unsupported on your platform, the
++ The battery monitor supports a number of power management backends.
++ If it is available, the monitor will attempt to use the freedesktop.org
++ upower interface.
++ If it is unavailable or unsupported on your platform, it will fall back
++ to the freedesktop.org
++ HAL (Hardware
++ Abstraction Layer). If that is also not availble, the
+ battery monitor will attempt direct access to the power management system.
+
+
+@@ -410,10 +413,10 @@
+
+ Determining the backend
+
+- If you are using the Hardware Abstraction Layer
+- (see ) then that will be
+- indicated in the about dialog by placing a star next to the author of the
+- HAL backend.
++ If you are using the upower interface, or the the Hardware
++ Abstraction Layer (see ) then
++ that will be indicated in the about dialog by placing a star next to the
++ author of the HAL backend.
+
+-
+-
+-
+- true
+- <_summary>Activation of this plugin
+- <_description>Whether this plugin would be activated by gnome-settings-daemon or not
+-
+-
+- 97
+- <_summary>Priority to use for this plugin
+- <_description>Priority to use for this plugin in gnome-settings-daemon startup queue
+-
+
+
+
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/background.gnome-settings-plugin.in gnome-settings-daemon-3.6.4/plugins/background/background.gnome-settings-plugin.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/background.gnome-settings-plugin.in 2012-04-07 15:21:20.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/background.gnome-settings-plugin.in 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-[GNOME Settings Plugin]
+-Module=background
+-IAge=0
+-_Name=Background
+-_Description=Background plugin
+-Authors=
+-Copyright=Copyright © 2007
+-Website=
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.c gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.c 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.c 2013-04-10 17:39:36.450215685 +0200
+@@ -0,0 +1,65 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2010 Red Hat, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * Author: Tomas Bzatek
++ */
++
++#include "config.h"
++
++#include
++#include
++#include
++#include
++
++#include "gsd-background-manager.h"
++
++int
++main (int argc,
++ char **argv)
++{
++ GMainLoop *loop;
++ GsdBackgroundManager *manager;
++ GError *error = NULL;
++
++ g_type_init ();
++ gtk_init (&argc, &argv);
++
++ bindtextdomain (GETTEXT_PACKAGE, GNOME_SETTINGS_LOCALEDIR);
++ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
++ textdomain (GETTEXT_PACKAGE);
++
++ loop = g_main_loop_new (NULL, FALSE);
++ manager = gsd_background_manager_new ();
++
++ gsd_background_manager_start (manager, &error);
++
++ if (error != NULL) {
++ g_printerr ("Unable to start the background manager: %s",
++ error->message);
++
++ g_error_free (error);
++ _exit (1);
++ }
++
++ g_main_loop_run (loop);
++
++ gsd_background_manager_stop (manager);
++ g_main_loop_unref (loop);
++
++ return 0;
++}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-10 17:39:36.450215685 +0200
+@@ -0,0 +1,12 @@
++[Desktop Entry]
++_Name=Background Helper
++_Comment=Draw desktop background
++Exec=@LIBEXECDIR@/gnome-fallback-background-helper
++Icon=desktop
++Terminal=false
++Type=Application
++Categories=
++NoDisplay=true
++OnlyShowIn=GNOME;Unity;
++X-GNOME-Autostart-Notify=true
++AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.c gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.c 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,104 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- *
+- */
+-
+-#include "config.h"
+-
+-#include
+-#include
+-
+-#include "gnome-settings-plugin.h"
+-#include "gsd-background-plugin.h"
+-#include "gsd-background-manager.h"
+-
+-struct GsdBackgroundPluginPrivate {
+- GsdBackgroundManager *manager;
+-};
+-
+-#define GSD_BACKGROUND_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPluginPrivate))
+-
+-GNOME_SETTINGS_PLUGIN_REGISTER (GsdBackgroundPlugin, gsd_background_plugin)
+-
+-static void
+-gsd_background_plugin_init (GsdBackgroundPlugin *plugin)
+-{
+- plugin->priv = GSD_BACKGROUND_PLUGIN_GET_PRIVATE (plugin);
+-
+- g_debug ("GsdBackgroundPlugin initializing");
+-
+- plugin->priv->manager = gsd_background_manager_new ();
+-}
+-
+-static void
+-gsd_background_plugin_finalize (GObject *object)
+-{
+- GsdBackgroundPlugin *plugin;
+-
+- g_return_if_fail (object != NULL);
+- g_return_if_fail (GSD_IS_BACKGROUND_PLUGIN (object));
+-
+- g_debug ("GsdBackgroundPlugin finalizing");
+-
+- plugin = GSD_BACKGROUND_PLUGIN (object);
+-
+- g_return_if_fail (plugin->priv != NULL);
+-
+- if (plugin->priv->manager != NULL) {
+- g_object_unref (plugin->priv->manager);
+- }
+-
+- G_OBJECT_CLASS (gsd_background_plugin_parent_class)->finalize (object);
+-}
+-
+-static void
+-impl_activate (GnomeSettingsPlugin *plugin)
+-{
+- gboolean res;
+- GError *error;
+-
+- g_debug ("Activating background plugin");
+-
+- error = NULL;
+- res = gsd_background_manager_start (GSD_BACKGROUND_PLUGIN (plugin)->priv->manager, &error);
+- if (! res) {
+- g_warning ("Unable to start background manager: %s", error->message);
+- g_error_free (error);
+- }
+-}
+-
+-static void
+-impl_deactivate (GnomeSettingsPlugin *plugin)
+-{
+- g_debug ("Deactivating background plugin");
+- gsd_background_manager_stop (GSD_BACKGROUND_PLUGIN (plugin)->priv->manager);
+-}
+-
+-static void
+-gsd_background_plugin_class_init (GsdBackgroundPluginClass *klass)
+-{
+- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+- GnomeSettingsPluginClass *plugin_class = GNOME_SETTINGS_PLUGIN_CLASS (klass);
+-
+- object_class->finalize = gsd_background_plugin_finalize;
+-
+- plugin_class->activate = impl_activate;
+- plugin_class->deactivate = impl_deactivate;
+-
+- g_type_class_add_private (klass, sizeof (GsdBackgroundPluginPrivate));
+-}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.h gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.h
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gsd-background-plugin.h 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/gsd-background-plugin.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,59 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- *
+- */
+-
+-#ifndef __GSD_BACKGROUND_PLUGIN_H__
+-#define __GSD_BACKGROUND_PLUGIN_H__
+-
+-#include
+-#include
+-#include
+-
+-#include "gnome-settings-plugin.h"
+-
+-G_BEGIN_DECLS
+-
+-#define GSD_TYPE_BACKGROUND_PLUGIN (gsd_background_plugin_get_type ())
+-#define GSD_BACKGROUND_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPlugin))
+-#define GSD_BACKGROUND_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPluginClass))
+-#define GSD_IS_BACKGROUND_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_BACKGROUND_PLUGIN))
+-#define GSD_IS_BACKGROUND_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_BACKGROUND_PLUGIN))
+-#define GSD_BACKGROUND_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_BACKGROUND_PLUGIN, GsdBackgroundPluginClass))
+-
+-typedef struct GsdBackgroundPluginPrivate GsdBackgroundPluginPrivate;
+-
+-typedef struct
+-{
+- GnomeSettingsPlugin parent;
+- GsdBackgroundPluginPrivate *priv;
+-} GsdBackgroundPlugin;
+-
+-typedef struct
+-{
+- GnomeSettingsPluginClass parent_class;
+-} GsdBackgroundPluginClass;
+-
+-GType gsd_background_plugin_get_type (void) G_GNUC_CONST;
+-
+-/* All the plugins must implement this function */
+-G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module);
+-
+-G_END_DECLS
+-
+-#endif /* __GSD_BACKGROUND_PLUGIN_H__ */
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am gnome-settings-daemon-3.6.4/plugins/background/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/background/Makefile.am 2013-04-10 17:40:20.117885180 +0200
+@@ -1,80 +1,34 @@
+-NULL =
++libexec_PROGRAMS = gnome-fallback-background-helper
+
+-plugin_name = background
++gnome_fallback_background_helper_SOURCES = \
++ gnome-fallback-background-helper.c \
++ gsd-background-manager.c \
++ gsd-background-manager.h
+
+-libexec_PROGRAMS = gsd-test-background
+-
+-gsd_test_background_SOURCES = \
+- test-background.c \
+- gsd-background-manager.h \
+- gsd-background-manager.c \
+- $(NULL)
+-
+-gsd_test_background_CPPFLAGS = \
++gnome_fallback_background_helper_CPPFLAGS = \
+ -I$(top_srcdir)/gnome-settings-daemon \
+- -I$(top_srcdir)/plugins/common \
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ $(AM_CPPFLAGS)
+
+-gsd_test_background_CFLAGS = \
+- $(PLUGIN_CFLAGS) \
++gnome_fallback_background_helper_CFLAGS = \
+ $(SETTINGS_PLUGIN_CFLAGS) \
+- $(BACKGROUND_CFLAGS) \
+- $(AM_CFLAGS)
+-
+-gsd_test_background_LDADD = \
+- $(top_builddir)/gnome-settings-daemon/libgsd.la \
+- $(SETTINGS_PLUGIN_LIBS) \
+- $(BACKGROUND_LIBS) \
+- $(NULL)
+-
+-plugin_LTLIBRARIES = \
+- libbackground.la \
+- $(NULL)
+-
+-libbackground_la_SOURCES = \
+- gsd-background-plugin.h \
+- gsd-background-plugin.c \
+- gsd-background-manager.h \
+- gsd-background-manager.c \
+- $(NULL)
++ $(BACKGROUND_CFLAGS)
+
+-libbackground_la_CPPFLAGS = \
+- -I$(top_srcdir)/gnome-settings-daemon \
+- -I$(top_srcdir)/plugins/background/libbackground \
+- -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+- $(AM_CPPFLAGS)
+-
+-libbackground_la_CFLAGS = \
+- $(SETTINGS_PLUGIN_CFLAGS) \
+- $(BACKGROUND_CFLAGS) \
+- $(AM_CFLAGS)
+-
+-libbackground_la_LDFLAGS = \
+- $(GSD_PLUGIN_LDFLAGS) \
+- $(NULL)
+-
+-libbackground_la_LIBADD = \
++gnome_fallback_background_helper_LDADD = \
+ $(SETTINGS_PLUGIN_LIBS) \
+ $(BACKGROUND_LIBS) \
+- $(NULL)
+-
+-plugin_in_files = \
+- background.gnome-settings-plugin.in \
+- $(NULL)
++ $(top_builddir)/gnome-settings-daemon/libgsd.la
+
+-plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
++autostartdir = $(sysconfdir)/xdg/autostart
++autostart_in_files = gnome-fallback-background-helper.desktop.in
++autostart_in_in_files = gnome-fallback-background-helper.desktop.in.in
++autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+
+-EXTRA_DIST = \
+- $(plugin_in_files) \
+- $(NULL)
++$(autostart_in_files): $(autostart_in_in_files)
++ @sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@
+
+-CLEANFILES = \
+- $(plugin_DATA) \
+- $(NULL)
++@INTLTOOL_DESKTOP_RULE@
+
+-DISTCLEANFILES = \
+- $(plugin_DATA) \
+- $(NULL)
++EXTRA_DIST = $(autostart_in_in_files)
+
+-@GSD_INTLTOOL_PLUGIN_RULE@
++CLEANFILES = $(autostart_DATA) $(autostart_in_files)
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/test-background.c gnome-settings-daemon-3.6.4/plugins/background/test-background.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/test-background.c 2012-06-01 22:02:53.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/test-background.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-#define NEW gsd_background_manager_new
+-#define START gsd_background_manager_start
+-#define STOP gsd_background_manager_stop
+-#define MANAGER GsdBackgroundManager
+-#include "gsd-background-manager.h"
+-
+-#include "test-plugin.h"
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.in gnome-settings-daemon-3.6.4/po/POTFILES.in
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.in 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/po/POTFILES.in 2013-04-10 17:39:36.450215685 +0200
+@@ -21,9 +21,9 @@
+ [type: gettext/glade]plugins/a11y-keyboard/gsd-a11y-preferences-dialog.ui
+ [type: gettext/ini]plugins/a11y-settings/a11y-settings.gnome-settings-plugin.in
+ plugins/automount/gnome-fallback-mount-helper.desktop.in.in
++plugins/automount/gnome-fallback-background-helper.desktop.in.in
+ plugins/automount/gsd-automount-manager.c
+ plugins/automount/gsd-autorun.c
+-[type: gettext/ini]plugins/background/background.gnome-settings-plugin.in
+ [type: gettext/ini]plugins/clipboard/clipboard.gnome-settings-plugin.in
+ [type: gettext/ini]plugins/color/color.gnome-settings-plugin.in
+ plugins/color/gsd-color-manager.c
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip gnome-settings-daemon-3.6.4/po/POTFILES.skip
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip 2012-04-07 18:58:07.000000000 +0200
++++ gnome-settings-daemon-3.6.4/po/POTFILES.skip 2013-04-10 17:39:36.453549095 +0200
+@@ -20,6 +20,7 @@
+ data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in
+ data/org.gnome.settings-daemon.plugins.xrandr.gschema.xml.in
+ data/org.gnome.settings-daemon.plugins.xsettings.gschema.xml.in
++plugins/automount/gnome-fallback-background-helper.desktop.in
+ plugins/automount/gnome-fallback-mount-helper.desktop.in
+ plugins/power/org.gnome.settings-daemon.plugins.power.policy.in
+ plugins/wacom/org.gnome.settings-daemon.plugins.wacom.policy.in
diff --git a/community/gnome-settings-daemon-updates/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch b/community/gnome-settings-daemon-updates/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch
deleted file mode 100644
index ceee6db82..000000000
--- a/community/gnome-settings-daemon-updates/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch
+++ /dev/null
@@ -1,1476 +0,0 @@
-From f418ff2cd04b233dbffc1129e856630d8c96cd07 Mon Sep 17 00:00:00 2001
-From: Richard Hughes
-Date: Fri, 21 Sep 2012 11:56:53 +0100
-Subject: [PATCH] power and media-keys: Use logind for suspending and
- rebooting the system
-
-Use the new logind features to suspend and resume but making sure we opt out
-of logind handling the sleep and power keys, and also inhibiting for lid close
-auto-suspend if there is an external monitor connected.
-
-Also use a delay inihibit for logind so that we can do actions on suspend like
-blanking the screen using the screensaver and also poking the screensaver on
-resume.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=680689
-
-Conflicts:
- plugins/power/gsd-power-manager.c
----
- plugins/common/Makefile.am | 4 +-
- plugins/common/gsd-power-helper.c | 203 --------
- plugins/common/gsd-power-helper.h | 35 --
- plugins/media-keys/gsd-media-keys-manager.c | 156 +++++--
- plugins/power/gsd-power-manager.c | 697 +++++++++++++++++++---------
- 5 files changed, 594 insertions(+), 501 deletions(-)
- delete mode 100644 plugins/common/gsd-power-helper.c
- delete mode 100644 plugins/common/gsd-power-helper.h
-
-diff --git a/plugins/common/Makefile.am b/plugins/common/Makefile.am
-index 7e50db4..b0e907c 100644
---- a/plugins/common/Makefile.am
-+++ b/plugins/common/Makefile.am
-@@ -6,9 +6,7 @@ libcommon_la_SOURCES = \
- gsd-keygrab.c \
- gsd-keygrab.h \
- gsd-input-helper.c \
-- gsd-input-helper.h \
-- gsd-power-helper.c \
-- gsd-power-helper.h
-+ gsd-input-helper.h
-
- libcommon_la_CPPFLAGS = \
- $(AM_CPPFLAGS)
-diff --git a/plugins/common/gsd-power-helper.c b/plugins/common/gsd-power-helper.c
-deleted file mode 100644
-index 27d0eda..0000000
---- a/plugins/common/gsd-power-helper.c
-+++ /dev/null
-@@ -1,203 +0,0 @@
--/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
-- *
-- * Copyright (C) 2012 Bastien Nocera
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 2 of the License, or
-- * (at your option) any later version.
-- *
-- * This program is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with this program; if not, write to the Free Software
-- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-- *
-- */
--
--#include "config.h"
--
--#include "gsd-power-helper.h"
--
--#define SYSTEMD_DBUS_NAME "org.freedesktop.login1"
--#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1"
--#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager"
--
--#define CONSOLEKIT_DBUS_NAME "org.freedesktop.ConsoleKit"
--#define CONSOLEKIT_DBUS_PATH_MANAGER "/org/freedesktop/ConsoleKit/Manager"
--#define CONSOLEKIT_DBUS_INTERFACE_MANAGER "org.freedesktop.ConsoleKit.Manager"
--
--#ifdef HAVE_SYSTEMD
--static void
--systemd_stop (void)
--{
-- GDBusConnection *bus;
--
-- bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
-- g_dbus_connection_call (bus,
-- SYSTEMD_DBUS_NAME,
-- SYSTEMD_DBUS_PATH,
-- SYSTEMD_DBUS_INTERFACE,
-- "PowerOff",
-- g_variant_new ("(b)", FALSE),
-- NULL, 0, G_MAXINT, NULL, NULL, NULL);
-- g_object_unref (bus);
--}
--
--static void
--systemd_suspend (void)
--{
-- GDBusConnection *bus;
--
-- bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
-- g_dbus_connection_call (bus,
-- SYSTEMD_DBUS_NAME,
-- SYSTEMD_DBUS_PATH,
-- SYSTEMD_DBUS_INTERFACE,
-- "Suspend",
-- g_variant_new ("(b)", TRUE),
-- NULL, 0, G_MAXINT, NULL, NULL, NULL);
-- g_object_unref (bus);
--}
--
--static void
--systemd_hibernate (void)
--{
-- GDBusConnection *bus;
--
-- bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
-- g_dbus_connection_call (bus,
-- SYSTEMD_DBUS_NAME,
-- SYSTEMD_DBUS_PATH,
-- SYSTEMD_DBUS_INTERFACE,
-- "Hibernate",
-- g_variant_new ("(b)", TRUE),
-- NULL, 0, G_MAXINT, NULL, NULL, NULL);
-- g_object_unref (bus);
--}
--
--#else /* HAVE_SYSTEMD */
--
--static void
--consolekit_stop_cb (GObject *source_object,
-- GAsyncResult *res,
-- gpointer user_data)
--{
-- GVariant *result;
-- GError *error = NULL;
--
-- result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source_object),
-- res,
-- &error);
-- if (result == NULL) {
-- g_warning ("couldn't stop using ConsoleKit: %s",
-- error->message);
-- g_error_free (error);
-- } else {
-- g_variant_unref (result);
-- }
--}
--
--static void
--consolekit_stop (void)
--{
-- GError *error = NULL;
-- GDBusProxy *proxy;
--
-- /* power down the machine in a safe way */
-- proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
-- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
-- NULL,
-- CONSOLEKIT_DBUS_NAME,
-- CONSOLEKIT_DBUS_PATH_MANAGER,
-- CONSOLEKIT_DBUS_INTERFACE_MANAGER,
-- NULL, &error);
-- if (proxy == NULL) {
-- g_warning ("cannot connect to ConsoleKit: %s",
-- error->message);
-- g_error_free (error);
-- return;
-- }
-- g_dbus_proxy_call (proxy,
-- "Stop",
-- NULL,
-- G_DBUS_CALL_FLAGS_NONE,
-- -1, NULL,
-- consolekit_stop_cb, NULL);
-- g_object_unref (proxy);
--}
--static void
--upower_sleep_cb (GObject *source_object,
-- GAsyncResult *res,
-- gpointer user_data)
--{
-- GVariant *result;
-- GError *error = NULL;
--
-- result = g_dbus_proxy_call_finish (G_DBUS_PROXY (source_object),
-- res,
-- &error);
-- if (result == NULL) {
-- g_warning ("couldn't sleep using UPower: %s",
-- error->message);
-- g_error_free (error);
-- } else {
-- g_variant_unref (result);
-- }
--}
--
--static void
--upower_suspend (GDBusProxy *upower_proxy)
--{
-- g_dbus_proxy_call (upower_proxy,
-- "Suspend",
-- NULL,
-- G_DBUS_CALL_FLAGS_NONE,
-- -1, NULL,
-- upower_sleep_cb, NULL);
--}
--
--static void
--upower_hibernate (GDBusProxy *upower_proxy)
--{
-- g_dbus_proxy_call (upower_proxy,
-- "Hibernate",
-- NULL,
-- G_DBUS_CALL_FLAGS_NONE,
-- -1, NULL,
-- upower_sleep_cb, NULL);
--}
--#endif /* HAVE_SYSTEMD */
--
--void
--gsd_power_suspend (GDBusProxy *upower_proxy)
--{
--#ifdef HAVE_SYSTEMD
-- systemd_suspend ();
--#else
-- upower_suspend (upower_proxy);
--#endif
--}
--
--void
--gsd_power_poweroff (void)
--{
--#ifdef HAVE_SYSTEMD
-- systemd_stop ();
--#else
-- consolekit_stop ();
--#endif
--}
--
--void
--gsd_power_hibernate (GDBusProxy *upower_proxy)
--{
--#ifdef HAVE_SYSTEMD
-- systemd_hibernate ();
--#else
-- upower_hibernate (upower_proxy);
--#endif
--}
-diff --git a/plugins/common/gsd-power-helper.h b/plugins/common/gsd-power-helper.h
-deleted file mode 100644
-index e3be14f..0000000
---- a/plugins/common/gsd-power-helper.h
-+++ /dev/null
-@@ -1,35 +0,0 @@
--/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
-- *
-- * Copyright (C) 2012 Bastien Nocera
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License as published by
-- * the Free Software Foundation; either version 2 of the License, or
-- * (at your option) any later version.
-- *
-- * This program is distributed in the hope that it will be useful,
-- * but WITHOUT ANY WARRANTY; without even the implied warranty of
-- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- * GNU General Public License for more details.
-- *
-- * You should have received a copy of the GNU General Public License
-- * along with this program; if not, write to the Free Software
-- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-- */
--
--#ifndef __GSD_POWER_HELPER_H
--#define __GSD_POWER_HELPER_H
--
--#include
--
--G_BEGIN_DECLS
--
--#include
--
--void gsd_power_suspend (GDBusProxy *upower_proxy);
--void gsd_power_hibernate (GDBusProxy *upower_proxy);
--void gsd_power_poweroff (void);
--
--G_END_DECLS
--
--#endif /* __GSD_POWER_HELPER_H */
-diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
-index 9c84d7f..a2f277e 100644
---- a/plugins/media-keys/gsd-media-keys-manager.c
-+++ b/plugins/media-keys/gsd-media-keys-manager.c
-@@ -39,6 +39,7 @@
- #include
- #include
- #include
-+#include
-
- #ifdef HAVE_GUDEV
- #include
-@@ -51,7 +52,6 @@
- #include "shortcuts-list.h"
- #include "gsd-osd-window.h"
- #include "gsd-input-helper.h"
--#include "gsd-power-helper.h"
- #include "gsd-enums.h"
-
- #include
-@@ -105,6 +105,10 @@ static const gchar introspection_xml[] =
- #define KEY_CURRENT_INPUT_SOURCE "current"
- #define KEY_INPUT_SOURCES "sources"
-
-+#define SYSTEMD_DBUS_NAME "org.freedesktop.login1"
-+#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1"
-+#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager"
-+
- #define GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManagerPrivate))
-
- typedef struct {
-@@ -148,10 +152,13 @@ struct GsdMediaKeysManagerPrivate
-
- /* Power stuff */
- GSettings *power_settings;
-- GDBusProxy *upower_proxy;
- GDBusProxy *power_screen_proxy;
- GDBusProxy *power_keyboard_proxy;
-
-+ /* systemd stuff */
-+ GDBusProxy *logind_proxy;
-+ gint inhibit_keys_fd;
-+
- /* Multihead stuff */
- GdkScreen *current_screen;
- GSList *screens;
-@@ -1618,6 +1625,38 @@ do_toggle_contrast_action (GsdMediaKeysManager *manager)
- }
-
- static void
-+power_action_suspend (GsdMediaKeysManager *manager)
-+{
-+#ifndef HAVE_SYSTEMD
-+ g_warning ("no systemd support");
-+ return;
-+#endif
-+ g_dbus_proxy_call (manager->priv->logind_proxy,
-+ "Suspend",
-+ g_variant_new ("(b)", TRUE),
-+ G_DBUS_CALL_FLAGS_NONE,
-+ G_MAXINT,
-+ manager->priv->bus_cancellable,
-+ NULL, NULL);
-+}
-+
-+static void
-+power_action_hibernate (GsdMediaKeysManager *manager)
-+{
-+#ifndef HAVE_SYSTEMD
-+ g_warning ("no systemd support");
-+ return;
-+#endif
-+ g_dbus_proxy_call (manager->priv->logind_proxy,
-+ "Hibernate",
-+ g_variant_new ("(b)", TRUE),
-+ G_DBUS_CALL_FLAGS_NONE,
-+ G_MAXINT,
-+ manager->priv->bus_cancellable,
-+ NULL, NULL);
-+}
-+
-+static void
- do_config_power_action (GsdMediaKeysManager *manager,
- const gchar *config_key)
- {
-@@ -1627,14 +1666,14 @@ do_config_power_action (GsdMediaKeysManager *manager,
- config_key);
- switch (action_type) {
- case GSD_POWER_ACTION_SUSPEND:
-- gsd_power_suspend (manager->priv->upower_proxy);
-+ power_action_suspend (manager);
- break;
- case GSD_POWER_ACTION_INTERACTIVE:
- case GSD_POWER_ACTION_SHUTDOWN:
- gnome_session_shutdown (manager);
- break;
- case GSD_POWER_ACTION_HIBERNATE:
-- gsd_power_hibernate (manager->priv->upower_proxy);
-+ power_action_hibernate (manager);
- break;
- case GSD_POWER_ACTION_BLANK:
- case GSD_POWER_ACTION_NOTHING:
-@@ -2248,6 +2287,7 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager)
- }
- #endif /* HAVE_GUDEV */
-
-+ g_clear_object (&priv->logind_proxy);
- if (priv->settings) {
- g_object_unref (priv->settings);
- priv->settings = NULL;
-@@ -2268,11 +2308,6 @@ gsd_media_keys_manager_stop (GsdMediaKeysManager *manager)
- priv->power_keyboard_proxy = NULL;
- }
-
-- if (priv->upower_proxy) {
-- g_object_unref (priv->upower_proxy);
-- priv->upower_proxy = NULL;
-- }
--
- if (priv->cancellable != NULL) {
- g_cancellable_cancel (priv->cancellable);
- g_object_unref (priv->cancellable);
-@@ -2363,9 +2398,85 @@ gsd_media_keys_manager_class_init (GsdMediaKeysManagerClass *klass)
- }
-
- static void
-+inhibit_done (GObject *source,
-+ GAsyncResult *result,
-+ gpointer user_data)
-+{
-+ GDBusProxy *proxy = G_DBUS_PROXY (source);
-+ GsdMediaKeysManager *manager = GSD_MEDIA_KEYS_MANAGER (user_data);
-+ GError *error = NULL;
-+ GVariant *res;
-+ GUnixFDList *fd_list = NULL;
-+ gint idx;
-+
-+ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
-+ if (res == NULL) {
-+ g_warning ("Unable to inhibit keypresses: %s", error->message);
-+ g_error_free (error);
-+ } else {
-+ g_variant_get (res, "(h)", &idx);
-+ manager->priv->inhibit_keys_fd = g_unix_fd_list_get (fd_list, idx, &error);
-+ if (manager->priv->inhibit_keys_fd == -1) {
-+ g_warning ("Failed to receive system inhibitor fd: %s", error->message);
-+ g_error_free (error);
-+ }
-+ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_keys_fd);
-+ g_object_unref (fd_list);
-+ g_variant_unref (res);
-+ }
-+}
-+
-+static void
- gsd_media_keys_manager_init (GsdMediaKeysManager *manager)
- {
-+ GError *error;
-+ GDBusConnection *bus;
-+
-+ error = NULL;
- manager->priv = GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE (manager);
-+
-+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
-+ if (bus == NULL) {
-+ g_warning ("Failed to connect to system bus: %s",
-+ error->message);
-+ g_error_free (error);
-+ return;
-+ }
-+
-+ manager->priv->logind_proxy =
-+ g_dbus_proxy_new_sync (bus,
-+ 0,
-+ NULL,
-+ SYSTEMD_DBUS_NAME,
-+ SYSTEMD_DBUS_PATH,
-+ SYSTEMD_DBUS_INTERFACE,
-+ NULL,
-+ &error);
-+
-+ if (manager->priv->logind_proxy == NULL) {
-+ g_warning ("Failed to connect to systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ }
-+
-+ g_object_unref (bus);
-+
-+ g_debug ("Adding system inhibitors for power keys");
-+ manager->priv->inhibit_keys_fd = -1;
-+ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
-+ "Inhibit",
-+ g_variant_new ("(ssss)",
-+ "handle-power-key:handle-suspend-key:handle-hibernate-key",
-+ g_get_user_name (),
-+ "GNOME handling keypresses",
-+ "block"),
-+ 0,
-+ G_MAXINT,
-+ NULL,
-+ NULL,
-+ inhibit_done,
-+ manager);
-+
- }
-
- static void
-@@ -2382,6 +2493,8 @@ gsd_media_keys_manager_finalize (GObject *object)
-
- if (media_keys_manager->priv->start_idle_id != 0)
- g_source_remove (media_keys_manager->priv->start_idle_id);
-+ if (media_keys_manager->priv->inhibit_keys_fd != -1)
-+ close (media_keys_manager->priv->inhibit_keys_fd);
-
- G_OBJECT_CLASS (gsd_media_keys_manager_parent_class)->finalize (object);
- }
-@@ -2401,21 +2514,6 @@ xrandr_ready_cb (GObject *source_object,
- }
-
- static void
--upower_ready_cb (GObject *source_object,
-- GAsyncResult *res,
-- GsdMediaKeysManager *manager)
--{
-- GError *error = NULL;
--
-- manager->priv->upower_proxy = g_dbus_proxy_new_finish (res, &error);
-- if (manager->priv->upower_proxy == NULL) {
-- g_warning ("Failed to get proxy for upower: %s",
-- error->message);
-- g_error_free (error);
-- }
--}
--
--static void
- power_screen_ready_cb (GObject *source_object,
- GAsyncResult *res,
- GsdMediaKeysManager *manager)
-@@ -2517,16 +2615,6 @@ register_manager (GsdMediaKeysManager *manager)
- manager->priv->bus_cancellable,
- (GAsyncReadyCallback) on_bus_gotten,
- manager);
--
-- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
-- G_DBUS_PROXY_FLAGS_NONE,
-- NULL,
-- "org.freedesktop.UPower",
-- "/org/freedesktop/UPower",
-- "org.freedesktop.UPower",
-- NULL,
-- (GAsyncReadyCallback) upower_ready_cb,
-- manager);
- }
-
- GsdMediaKeysManager *
-diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
-index 1c594d8..bb7224c 100644
---- a/plugins/power/gsd-power-manager.c
-+++ b/plugins/power/gsd-power-manager.c
-@@ -1,7 +1,7 @@
- /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
- *
- * Copyright (C) 2007 William Jon McCann
-- * Copyright (C) 2011 Richard Hughes
-+ * Copyright (C) 2011-2012 Richard Hughes
- * Copyright (C) 2011 Ritesh Khadgaray
- *
- * This program is free software; you can redistribute it and/or modify
-@@ -32,6 +32,7 @@
- #include
- #include
- #include
-+#include
-
- #define GNOME_DESKTOP_USE_UNSTABLE_API
- #include
-@@ -43,7 +44,6 @@
- #include "gnome-settings-session.h"
- #include "gsd-enums.h"
- #include "gsd-power-manager.h"
--#include "gsd-power-helper.h"
-
- #define GNOME_SESSION_DBUS_NAME "org.gnome.SessionManager"
- #define GNOME_SESSION_DBUS_PATH "/org/gnome/SessionManager"
-@@ -78,6 +78,10 @@
- #define GSD_POWER_MANAGER_RECALL_DELAY 30 /* seconds */
- #define GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT 30 /* seconds */
-
-+#define SYSTEMD_DBUS_NAME "org.freedesktop.login1"
-+#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1"
-+#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager"
-+
- /* Keep this in sync with gnome-shell */
- #define SCREENSAVER_FADE_TIME 10 /* seconds */
-
-@@ -193,15 +197,21 @@ struct GsdPowerManagerPrivate
- ca_context *canberra_context;
- ca_proplist *critical_alert_loop_props;
- guint32 critical_alert_timeout_id;
-- GDBusProxy *screensaver_proxy;
- GDBusProxy *session_proxy;
- GDBusProxy *session_presence_proxy;
- GpmIdletime *idletime;
- GsdPowerIdleMode current_idle_mode;
-- guint lid_close_safety_timer_id;
- GtkStatusIcon *status_icon;
- guint xscreensaver_watchdog_timer_id;
- gboolean is_virtual_machine;
-+
-+ /* systemd stuff */
-+ GDBusProxy *logind_proxy;
-+ gint inhibit_lid_switch_fd;
-+ gboolean inhibit_lid_switch_taken;
-+ gint inhibit_suspend_fd;
-+ gboolean inhibit_suspend_taken;
-+ guint inhibit_lid_switch_timer_id;
- };
-
- enum {
-@@ -218,8 +228,8 @@ static GIcon *engine_get_icon (GsdPowerManager *manager);
- static gchar *engine_get_summary (GsdPowerManager *manager);
- static void do_power_action_type (GsdPowerManager *manager, GsdPowerActionType action_type);
- static void do_lid_closed_action (GsdPowerManager *manager);
--static void lock_screensaver (GsdPowerManager *manager);
--static void kill_lid_close_safety_timer (GsdPowerManager *manager);
-+static void uninhibit_lid_switch (GsdPowerManager *manager);
-+static gboolean external_monitor_is_connected (GnomeRRScreen *screen);
-
- G_DEFINE_TYPE (GsdPowerManager, gsd_power_manager, G_TYPE_OBJECT)
-
-@@ -2049,6 +2059,57 @@ gnome_session_shutdown (void)
- }
-
- static void
-+action_poweroff (GsdPowerManager *manager)
-+{
-+ if (manager->priv->logind_proxy == NULL) {
-+ g_warning ("no systemd support");
-+ return;
-+ }
-+ g_dbus_proxy_call (manager->priv->logind_proxy,
-+ "PowerOff",
-+ g_variant_new ("(b)", FALSE),
-+ G_DBUS_CALL_FLAGS_NONE,
-+ G_MAXINT,
-+ NULL,
-+ NULL,
-+ NULL);
-+}
-+
-+static void
-+action_suspend (GsdPowerManager *manager)
-+{
-+ if (manager->priv->logind_proxy == NULL) {
-+ g_warning ("no systemd support");
-+ return;
-+ }
-+ g_dbus_proxy_call (manager->priv->logind_proxy,
-+ "Suspend",
-+ g_variant_new ("(b)", FALSE),
-+ G_DBUS_CALL_FLAGS_NONE,
-+ G_MAXINT,
-+ NULL,
-+ NULL,
-+ NULL);
-+}
-+
-+static void
-+action_hibernate (GsdPowerManager *manager)
-+{
-+ if (manager->priv->logind_proxy == NULL) {
-+ g_warning ("no systemd support");
-+ return;
-+ }
-+ g_dbus_proxy_call (manager->priv->logind_proxy,
-+ "Hibernate",
-+ g_variant_new ("(b)", FALSE),
-+ G_DBUS_CALL_FLAGS_NONE,
-+ G_MAXINT,
-+ NULL,
-+ NULL,
-+ NULL);
-+}
-+
-+static void
- do_power_action_type (GsdPowerManager *manager,
- GsdPowerActionType action_type)
- {
-@@ -2057,19 +2118,19 @@ do_power_action_type (GsdPowerManager *manager,
-
- switch (action_type) {
- case GSD_POWER_ACTION_SUSPEND:
-- gsd_power_suspend (manager->priv->upower_proxy);
-+ action_suspend (manager);
- break;
- case GSD_POWER_ACTION_INTERACTIVE:
- gnome_session_shutdown ();
- break;
- case GSD_POWER_ACTION_HIBERNATE:
-- gsd_power_hibernate (manager->priv->upower_proxy);
-+ action_hibernate (manager);
- break;
- case GSD_POWER_ACTION_SHUTDOWN:
- /* this is only used on critically low battery where
- * hibernate is not available and is marginally better
- * than just powering down the computer mid-write */
-- gsd_power_poweroff ();
-+ action_poweroff (manager);
- break;
- case GSD_POWER_ACTION_BLANK:
- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-@@ -2141,85 +2202,20 @@ upower_kbd_toggle (GsdPowerManager *manager,
- return ret;
- }
-
--static void
--do_lid_open_action (GsdPowerManager *manager)
--{
-- gboolean ret;
-- GError *error = NULL;
--
-- /* play a sound, using sounds from the naming spec */
-- ca_context_play (manager->priv->canberra_context, 0,
-- CA_PROP_EVENT_ID, "lid-open",
-- /* TRANSLATORS: this is the sound description */
-- CA_PROP_EVENT_DESCRIPTION, _("Lid has been opened"),
-- NULL);
--
-- /* ensure we turn the panel back on after lid open */
-- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-- GNOME_RR_DPMS_ON,
-- &error);
-- if (!ret) {
-- g_warning ("failed to turn the panel on after lid open: %s",
-- error->message);
-- g_clear_error (&error);
-- }
--
-- /* only toggle keyboard if present and already toggled off */
-- if (manager->priv->upower_kdb_proxy != NULL &&
-- manager->priv->kbd_brightness_old != -1) {
-- ret = upower_kbd_toggle (manager, &error);
-- if (!ret) {
-- g_warning ("failed to turn the kbd backlight on: %s",
-- error->message);
-- g_error_free (error);
-- }
-- }
--
-- kill_lid_close_safety_timer (manager);
--}
--
- static gboolean
--is_on (GnomeRROutput *output)
-+inhibit_lid_switch_timer_cb (GsdPowerManager *manager)
- {
-- GnomeRRCrtc *crtc;
--
-- crtc = gnome_rr_output_get_crtc (output);
-- if (!crtc)
-- return FALSE;
-- return gnome_rr_crtc_get_current_mode (crtc) != NULL;
--}
--
--static gboolean
--non_laptop_outputs_are_all_off (GnomeRRScreen *screen)
--{
-- GnomeRROutput **outputs;
-- int i;
--
-- outputs = gnome_rr_screen_list_outputs (screen);
-- for (i = 0; outputs[i] != NULL; i++) {
-- if (gnome_rr_output_is_laptop (outputs[i]))
-- continue;
--
-- if (is_on (outputs[i]))
-- return FALSE;
-+ if (!external_monitor_is_connected (manager->priv->x11_screen) ||
-+ g_settings_get_boolean (manager->priv->settings,
-+ "lid-close-suspend-with-external-monitor")) {
-+ g_debug ("no external monitors for a while; uninhibiting lid close");
-+ uninhibit_lid_switch (manager);
-+ manager->priv->inhibit_lid_switch_timer_id = 0;
-+ return G_SOURCE_REMOVE;
- }
-
-- return TRUE;
--}
--
--/* Timeout callback used to check conditions when the laptop's lid is closed but
-- * the machine is not suspended yet. We try to suspend again, so that the laptop
-- * won't overheat if placed in a backpack.
-- */
--static gboolean
--lid_close_safety_timer_cb (GsdPowerManager *manager)
--{
-- manager->priv->lid_close_safety_timer_id = 0;
--
-- g_debug ("lid has been closed for a while; trying to suspend again");
-- do_lid_closed_action (manager);
--
-- return FALSE;
-+ g_debug ("external monitor still there; trying again later");
-+ return G_SOURCE_CONTINUE;
- }
-
- /* Sets up a timer to be triggered some seconds after closing the laptop lid
-@@ -2227,82 +2223,73 @@ lid_close_safety_timer_cb (GsdPowerManager *manager)
- * again in the timeout handler to see if we can suspend then.
- */
- static void
--setup_lid_close_safety_timer (GsdPowerManager *manager)
-+setup_inhibit_lid_switch_timer (GsdPowerManager *manager)
- {
-- if (manager->priv->lid_close_safety_timer_id != 0)
-+ if (manager->priv->inhibit_lid_switch_timer_id != 0) {
-+ g_debug ("lid close safety timer already set up");
- return;
-+ }
-+
-+ g_debug ("setting up lid close safety timer");
-
-- manager->priv->lid_close_safety_timer_id = g_timeout_add_seconds (GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT,
-- (GSourceFunc) lid_close_safety_timer_cb,
-+ manager->priv->inhibit_lid_switch_timer_id = g_timeout_add_seconds (GSD_POWER_MANAGER_LID_CLOSE_SAFETY_TIMEOUT,
-+ (GSourceFunc) inhibit_lid_switch_timer_cb,
- manager);
-- g_source_set_name_by_id (manager->priv->lid_close_safety_timer_id, "[GsdPowerManager] lid close safety timer");
-+ g_source_set_name_by_id (manager->priv->inhibit_lid_switch_timer_id, "[GsdPowerManager] lid close safety timer");
- }
-
- static void
--kill_lid_close_safety_timer (GsdPowerManager *manager)
-+restart_inhibit_lid_switch_timer (GsdPowerManager *manager)
- {
-- if (manager->priv->lid_close_safety_timer_id != 0) {
-- g_source_remove (manager->priv->lid_close_safety_timer_id);
-- manager->priv->lid_close_safety_timer_id = 0;
-+ if (manager->priv->inhibit_lid_switch_timer_id != 0) {
-+ g_debug ("restarting lid close safety timer");
-+ g_source_remove (manager->priv->inhibit_lid_switch_timer_id);
-+ manager->priv->inhibit_lid_switch_timer_id = 0;
-+ setup_inhibit_lid_switch_timer (manager);
- }
- }
-
- static void
--suspend_with_lid_closed (GsdPowerManager *manager)
-+do_lid_open_action (GsdPowerManager *manager)
- {
- gboolean ret;
- GError *error = NULL;
-- GsdPowerActionType action_type;
-
-- /* maybe lock the screen if the lid is closed */
-- lock_screensaver (manager);
--
-- /* we have different settings depending on AC state */
-- if (up_client_get_on_battery (manager->priv->up_client)) {
-- action_type = g_settings_get_enum (manager->priv->settings,
-- "lid-close-battery-action");
-- } else {
-- action_type = g_settings_get_enum (manager->priv->settings,
-- "lid-close-ac-action");
-- }
--
-- /* check we won't melt when the lid is closed */
-- if (action_type != GSD_POWER_ACTION_SUSPEND &&
-- action_type != GSD_POWER_ACTION_HIBERNATE) {
-- if (up_client_get_lid_force_sleep (manager->priv->up_client)) {
-- g_warning ("to prevent damage, now forcing suspend");
-- do_power_action_type (manager, GSD_POWER_ACTION_SUSPEND);
-- return;
-- }
-- }
-+ /* play a sound, using sounds from the naming spec */
-+ ca_context_play (manager->priv->canberra_context, 0,
-+ CA_PROP_EVENT_ID, "lid-open",
-+ /* TRANSLATORS: this is the sound description */
-+ CA_PROP_EVENT_DESCRIPTION, _("Lid has been opened"),
-+ NULL);
-
-- /* ensure we turn the panel back on after resume */
-+ /* ensure we turn the panel back on after lid open */
- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-- GNOME_RR_DPMS_OFF,
-+ GNOME_RR_DPMS_ON,
- &error);
- if (!ret) {
-- g_warning ("failed to turn the panel off after lid close: %s",
-+ g_warning ("failed to turn the panel on after lid open: %s",
- error->message);
- g_clear_error (&error);
- }
-
-- /* only toggle keyboard if present and not already toggled */
-- if (manager->priv->upower_kdb_proxy &&
-- manager->priv->kbd_brightness_old == -1) {
-+ /* only toggle keyboard if present and already toggled off */
-+ if (manager->priv->upower_kdb_proxy != NULL &&
-+ manager->priv->kbd_brightness_old != -1) {
- ret = upower_kbd_toggle (manager, &error);
- if (!ret) {
-- g_warning ("failed to turn the kbd backlight off: %s",
-+ g_warning ("failed to turn the kbd backlight on: %s",
- error->message);
- g_error_free (error);
- }
- }
--
-- do_power_action_type (manager, action_type);
- }
-
- static void
- do_lid_closed_action (GsdPowerManager *manager)
- {
-+ gboolean ret;
-+ GError *error = NULL;
-+
- /* play a sound, using sounds from the naming spec */
- ca_context_play (manager->priv->canberra_context, 0,
- CA_PROP_EVENT_ID, "lid-close",
-@@ -2310,21 +2297,22 @@ do_lid_closed_action (GsdPowerManager *manager)
- CA_PROP_EVENT_DESCRIPTION, _("Lid has been closed"),
- NULL);
-
-+ /* turn the panel off if the lid is closed (mainly for Dells...) */
-+ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-+ GNOME_RR_DPMS_OFF,
-+ &error);
-+ if (!ret) {
-+ g_warning ("failed to turn the panel off after lid close: %s",
-+ error->message);
-+ g_error_free (error);
-+ }
-+
- /* refresh RANDR so we get an accurate view of what monitors are plugged in when the lid is closed */
- gnome_rr_screen_refresh (manager->priv->x11_screen, NULL); /* NULL-GError */
-
-- /* perform policy action */
-- if (g_settings_get_boolean (manager->priv->settings, "lid-close-suspend-with-external-monitor")
-- || non_laptop_outputs_are_all_off (manager->priv->x11_screen)) {
-- g_debug ("lid is closed; suspending or hibernating");
-- suspend_with_lid_closed (manager);
-- } else {
-- g_debug ("lid is closed; not suspending nor hibernating since some external monitor outputs are still active");
-- setup_lid_close_safety_timer (manager);
-- }
-+ restart_inhibit_lid_switch_timer (manager);
- }
-
--
- static void
- up_client_changed_cb (UpClient *client, GsdPowerManager *manager)
- {
-@@ -2344,6 +2332,7 @@ up_client_changed_cb (UpClient *client, GsdPowerManager *manager)
- if (manager->priv->lid_is_closed == tmp)
- return;
- manager->priv->lid_is_closed = tmp;
-+ g_debug ("up changed: lid is now %s", tmp ? "closed" : "open");
-
- /* fake a keypress */
- if (tmp)
-@@ -3302,30 +3291,6 @@ gsd_power_manager_class_init (GsdPowerManagerClass *klass)
- }
-
- static void
--sleep_cb_screensaver_proxy_ready_cb (GObject *source_object,
-- GAsyncResult *res,
-- gpointer user_data)
--{
-- GError *error = NULL;
-- GsdPowerManager *manager = GSD_POWER_MANAGER (user_data);
--
-- manager->priv->screensaver_proxy = g_dbus_proxy_new_for_bus_finish (res, &error);
-- if (manager->priv->screensaver_proxy == NULL) {
-- g_warning ("Could not connect to gnome-screensaver: %s",
-- error->message);
-- g_error_free (error);
-- return;
-- }
--
-- /* Finish the upower_notify_sleep_cb() call by locking the screen */
-- g_debug ("gnome-screensaver activated, doing gnome-screensaver lock");
-- g_dbus_proxy_call (manager->priv->screensaver_proxy,
-- "Lock",
-- NULL, G_DBUS_CALL_FLAGS_NONE, -1,
-- NULL, NULL, NULL);
--}
--
--static void
- idle_dbus_signal_cb (GDBusProxy *proxy,
- const gchar *sender_name,
- const gchar *signal_name,
-@@ -3477,75 +3442,38 @@ out:
- }
-
- static void
--lock_screensaver (GsdPowerManager *manager)
-+lock_screensaver (GsdPowerManager *manager,
-+ GSourceFunc done_cb)
- {
- gboolean do_lock;
-
- do_lock = g_settings_get_boolean (manager->priv->settings_screensaver,
- "lock-enabled");
-- if (!do_lock)
-+ if (!do_lock && done_cb) {
-+ done_cb (manager);
- return;
--
-- if (manager->priv->screensaver_proxy != NULL) {
-- g_debug ("doing gnome-screensaver lock");
-- g_dbus_proxy_call (manager->priv->screensaver_proxy,
-- "Lock",
-- NULL, G_DBUS_CALL_FLAGS_NONE, -1,
-- NULL, NULL, NULL);
-- } else {
-- /* connect to the screensaver first */
-- g_dbus_proxy_new_for_bus (G_BUS_TYPE_SESSION,
-- G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
-- NULL,
-- GS_DBUS_NAME,
-- GS_DBUS_PATH,
-- GS_DBUS_INTERFACE,
-- NULL,
-- sleep_cb_screensaver_proxy_ready_cb,
-- manager);
-- }
--}
--
--static void
--upower_notify_sleep_cb (UpClient *client,
-- UpSleepKind sleep_kind,
-- GsdPowerManager *manager)
--{
-- lock_screensaver (manager);
--}
--
--static void
--upower_notify_resume_cb (UpClient *client,
-- UpSleepKind sleep_kind,
-- GsdPowerManager *manager)
--{
-- gboolean ret;
-- GError *error = NULL;
--
-- /* this displays the unlock dialogue so the user doesn't have
-- * to move the mouse or press any key before the window comes up */
-- if (manager->priv->screensaver_proxy != NULL) {
-- g_dbus_proxy_call (manager->priv->screensaver_proxy,
-- "SimulateUserActivity",
-- NULL,
-- G_DBUS_CALL_FLAGS_NONE,
-- -1, NULL, NULL, NULL);
- }
-
-- /* close existing notifications on resume, the system power
-- * state is probably different now */
-- notify_close_if_showing (manager->priv->notification_low);
-- notify_close_if_showing (manager->priv->notification_discharging);
--
-- /* ensure we turn the panel back on after resume */
-- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-- GNOME_RR_DPMS_ON,
-- &error);
-- if (!ret) {
-- g_warning ("failed to turn the panel on after resume: %s",
-- error->message);
-- g_error_free (error);
-- }
-+ g_dbus_connection_call (manager->priv->connection,
-+ GS_DBUS_NAME,
-+ GS_DBUS_PATH,
-+ GS_DBUS_INTERFACE,
-+ "Lock",
-+ NULL, NULL,
-+ G_DBUS_CALL_FLAGS_NONE, -1,
-+ NULL, NULL, NULL);
-+
-+ /* Wait until gnome-shell shield animation is done
-+ *
-+ * FIXME: the shell should mark the lock as active
-+ * when the shield is down, then we could wait for
-+ * that. This would also fix the problem that we wait
-+ * needlessly when the shell has already locked the
-+ * screen because it is initiating the suspend.
-+ *
-+ * https://bugzilla.gnome.org/show_bug.cgi?id=685053
-+ */
-+ g_timeout_add (500, done_cb, manager);
- }
-
- static void
-@@ -3755,6 +3683,287 @@ out:
- return ret;
- }
-
-+static void
-+inhibit_lid_switch_done (GObject *source,
-+ GAsyncResult *result,
-+ gpointer user_data)
-+{
-+ GDBusProxy *proxy = G_DBUS_PROXY (source);
-+ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data);
-+ GError *error = NULL;
-+ GVariant *res;
-+ GUnixFDList *fd_list = NULL;
-+ gint idx;
-+
-+ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
-+ if (res == NULL) {
-+ g_warning ("Unable to inhibit lid switch: %s", error->message);
-+ g_error_free (error);
-+ } else {
-+ g_variant_get (res, "(h)", &idx);
-+ manager->priv->inhibit_lid_switch_fd = g_unix_fd_list_get (fd_list, idx, &error);
-+ if (manager->priv->inhibit_lid_switch_fd == -1) {
-+ g_warning ("Failed to receive system inhibitor fd: %s", error->message);
-+ g_error_free (error);
-+ }
-+ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_lid_switch_fd);
-+ g_object_unref (fd_list);
-+ g_variant_unref (res);
-+ }
-+}
-+
-+static void
-+inhibit_lid_switch (GsdPowerManager *manager)
-+{
-+ GVariant *params;
-+
-+ if (manager->priv->inhibit_lid_switch_taken) {
-+ g_debug ("already inhibited lid-switch");
-+ return;
-+ }
-+ g_debug ("Adding lid switch system inhibitor");
-+ manager->priv->inhibit_lid_switch_taken = TRUE;
-+
-+ params = g_variant_new ("(ssss)",
-+ "handle-lid-switch",
-+ g_get_user_name (),
-+ "Multiple displays attached",
-+ "block");
-+ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
-+ "Inhibit",
-+ params,
-+ 0,
-+ G_MAXINT,
-+ NULL,
-+ NULL,
-+ inhibit_lid_switch_done,
-+ manager);
-+}
-+
-+static void
-+uninhibit_lid_switch (GsdPowerManager *manager)
-+{
-+ if (manager->priv->inhibit_lid_switch_fd == -1) {
-+ g_debug ("no lid-switch inhibitor");
-+ return;
-+ }
-+ g_debug ("Removing lid switch system inhibitor");
-+ close (manager->priv->inhibit_lid_switch_fd);
-+ manager->priv->inhibit_lid_switch_fd = -1;
-+ manager->priv->inhibit_lid_switch_taken = FALSE;
-+}
-+
-+static void
-+inhibit_suspend_done (GObject *source,
-+ GAsyncResult *result,
-+ gpointer user_data)
-+{
-+ GDBusProxy *proxy = G_DBUS_PROXY (source);
-+ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data);
-+ GError *error = NULL;
-+ GVariant *res;
-+ GUnixFDList *fd_list = NULL;
-+ gint idx;
-+
-+ res = g_dbus_proxy_call_with_unix_fd_list_finish (proxy, &fd_list, result, &error);
-+ if (res == NULL) {
-+ g_warning ("Unable to inhibit suspend: %s", error->message);
-+ g_error_free (error);
-+ } else {
-+ g_variant_get (res, "(h)", &idx);
-+ manager->priv->inhibit_suspend_fd = g_unix_fd_list_get (fd_list, idx, &error);
-+ if (manager->priv->inhibit_suspend_fd == -1) {
-+ g_warning ("Failed to receive system inhibitor fd: %s", error->message);
-+ g_error_free (error);
-+ }
-+ g_debug ("System inhibitor fd is %d", manager->priv->inhibit_suspend_fd);
-+ g_object_unref (fd_list);
-+ g_variant_unref (res);
-+ }
-+}
-+
-+/* We take a delay inhibitor here, which causes logind to send a
-+ * PrepareToSleep signal, which gives us a chance to lock the screen
-+ * and do some other preparations.
-+ */
-+static void
-+inhibit_suspend (GsdPowerManager *manager)
-+{
-+ if (manager->priv->inhibit_suspend_taken) {
-+ g_debug ("already inhibited lid-switch");
-+ return;
-+ }
-+ g_debug ("Adding suspend delay inhibitor");
-+ manager->priv->inhibit_suspend_taken = TRUE;
-+ g_dbus_proxy_call_with_unix_fd_list (manager->priv->logind_proxy,
-+ "Inhibit",
-+ g_variant_new ("(ssss)",
-+ "sleep",
-+ g_get_user_name (),
-+ "GNOME needs to lock the screen",
-+ "delay"),
-+ 0,
-+ G_MAXINT,
-+ NULL,
-+ NULL,
-+ inhibit_suspend_done,
-+ manager);
-+}
-+
-+static void
-+uninhibit_suspend (GsdPowerManager *manager)
-+{
-+ if (manager->priv->inhibit_suspend_fd == -1) {
-+ g_debug ("no suspend delay inhibitor");
-+ return;
-+ }
-+ g_debug ("Removing suspend delay inhibitor");
-+ close (manager->priv->inhibit_suspend_fd);
-+ manager->priv->inhibit_suspend_fd = -1;
-+ manager->priv->inhibit_suspend_taken = FALSE;
-+}
-+
-+static gboolean
-+randr_output_is_on (GnomeRROutput *output)
-+{
-+ GnomeRRCrtc *crtc;
-+
-+ crtc = gnome_rr_output_get_crtc (output);
-+ if (!crtc)
-+ return FALSE;
-+ return gnome_rr_crtc_get_current_mode (crtc) != NULL;
-+}
-+
-+static gboolean
-+external_monitor_is_connected (GnomeRRScreen *screen)
-+{
-+ GnomeRROutput **outputs;
-+ guint i;
-+
-+ if (g_file_test ("/tmp/external_connected", G_FILE_TEST_EXISTS))
-+ return TRUE;
-+
-+ /* see if we have more than one screen plugged in */
-+ outputs = gnome_rr_screen_list_outputs (screen);
-+ for (i = 0; outputs[i] != NULL; i++) {
-+ if (randr_output_is_on (outputs[i]) &&
-+ !gnome_rr_output_is_laptop (outputs[i]))
-+ return TRUE;
-+ }
-+
-+ return FALSE;
-+}
-+
-+static void
-+on_randr_event (GnomeRRScreen *screen, gpointer user_data)
-+{
-+ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data);
-+
-+ /* when a second monitor is plugged in, we take the
-+ * handle-lid-switch inhibitor lock of logind to prevent
-+ * it from suspending.
-+ *
-+ * Uninhibiting is done in the inhibit_lid_switch_timer,
-+ * since we want to give users a few seconds when unplugging
-+ * and replugging an external monitor, not suspend right away.
-+ */
-+ if (external_monitor_is_connected (screen) &&
-+ !g_settings_get_boolean (manager->priv->settings,
-+ "lid-close-suspend-with-external-monitor")) {
-+ inhibit_lid_switch (manager);
-+ setup_inhibit_lid_switch_timer (manager);
-+ }
-+ else {
-+ restart_inhibit_lid_switch_timer (manager);
-+ }
-+}
-+
-+static gboolean
-+screen_lock_done_cb (gpointer data)
-+{
-+ GsdPowerManager *manager = data;
-+
-+ /* lift the delay inhibit, so logind can proceed */
-+ uninhibit_suspend (manager);
-+
-+ return FALSE;
-+}
-+
-+static void
-+handle_suspend_actions (GsdPowerManager *manager)
-+{
-+ gboolean ret;
-+ GError *error = NULL;
-+
-+ /* ensure we turn the panel back on after resume */
-+ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-+ GNOME_RR_DPMS_ON,
-+ &error);
-+ if (!ret) {
-+ g_warning ("failed to turn the panel on after resume: %s",
-+ error->message);
-+ g_error_free (error);
-+ }
-+
-+ lock_screensaver (manager, screen_lock_done_cb);
-+}
-+
-+static void
-+handle_resume_actions (GsdPowerManager *manager)
-+{
-+ gboolean ret;
-+ GError *error = NULL;
-+
-+ /* this displays the unlock dialogue so the user doesn't have
-+ * to move the mouse or press any key before the window comes up */
-+ g_dbus_connection_call (manager->priv->connection,
-+ GS_DBUS_NAME,
-+ GS_DBUS_PATH,
-+ GS_DBUS_INTERFACE,
-+ "SimulateUserActivity",
-+ NULL, NULL,
-+ G_DBUS_CALL_FLAGS_NONE, -1,
-+ NULL, NULL, NULL);
-+
-+ /* close existing notifications on resume, the system power
-+ * state is probably different now */
-+ notify_close_if_showing (manager->priv->notification_low);
-+ notify_close_if_showing (manager->priv->notification_discharging);
-+
-+ /* ensure we turn the panel back on after resume */
-+ ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-+ GNOME_RR_DPMS_ON,
-+ &error);
-+ if (!ret) {
-+ g_warning ("failed to turn the panel on after resume: %s",
-+ error->message);
-+ g_error_free (error);
-+ }
-+
-+ /* set up the delay again */
-+ inhibit_suspend (manager);
-+}
-+
-+static void
-+logind_proxy_signal_cb (GDBusProxy *proxy,
-+ const gchar *sender_name,
-+ const gchar *signal_name,
-+ GVariant *parameters,
-+ gpointer user_data)
-+{
-+ GsdPowerManager *manager = GSD_POWER_MANAGER (user_data);
-+ gboolean is_about_to_suspend;
-+
-+ if (g_strcmp0 (signal_name, "PrepareForSleep") != 0)
-+ return;
-+ g_variant_get (parameters, "(b)", &is_about_to_suspend);
-+ if (is_about_to_suspend) {
-+ handle_suspend_actions (manager);
-+ } else {
-+ handle_resume_actions (manager);
-+ }
-+}
-+
- gboolean
- gsd_power_manager_start (GsdPowerManager *manager,
- GError **error)
-@@ -3764,6 +3973,25 @@ gsd_power_manager_start (GsdPowerManager *manager,
- g_debug ("Starting power manager");
- gnome_settings_profile_start (NULL);
-
-+ manager->priv->logind_proxy =
-+ g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
-+ 0,
-+ NULL,
-+ SYSTEMD_DBUS_NAME,
-+ SYSTEMD_DBUS_PATH,
-+ SYSTEMD_DBUS_INTERFACE,
-+ NULL,
-+ error);
-+ if (manager->priv->logind_proxy == NULL) {
-+ g_warning ("no systemd support");
-+ return FALSE;
-+ }
-+ g_signal_connect (manager->priv->logind_proxy, "g-signal",
-+ G_CALLBACK (logind_proxy_signal_cb),
-+ manager);
-+ /* Set up a delay inhibitor to be informed about suspend attempts */
-+ inhibit_suspend (manager);
-+
- /* track the active session */
- manager->priv->session = gnome_settings_session_new ();
- g_signal_connect (manager->priv->session, "notify::state",
-@@ -3778,10 +4006,6 @@ gsd_power_manager_start (GsdPowerManager *manager,
- G_CALLBACK (engine_settings_key_changed_cb), manager);
- manager->priv->settings_screensaver = g_settings_new ("org.gnome.desktop.screensaver");
- manager->priv->up_client = up_client_new ();
-- g_signal_connect (manager->priv->up_client, "notify-sleep",
-- G_CALLBACK (upower_notify_sleep_cb), manager);
-- g_signal_connect (manager->priv->up_client, "notify-resume",
-- G_CALLBACK (upower_notify_resume_cb), manager);
- manager->priv->lid_is_closed = up_client_get_lid_is_closed (manager->priv->up_client);
- g_signal_connect (manager->priv->up_client, "device-added",
- G_CALLBACK (engine_device_added_cb), manager);
-@@ -3895,6 +4119,9 @@ gsd_power_manager_start (GsdPowerManager *manager,
- G_CALLBACK (idle_idletime_reset_cb), manager);
- g_signal_connect (manager->priv->idletime, "alarm-expired",
- G_CALLBACK (idle_idletime_alarm_expired_cb), manager);
-+ g_signal_connect (manager->priv->x11_screen, "changed", G_CALLBACK (on_randr_event), manager);
-+ /* set up initial state */
-+ on_randr_event (manager->priv->x11_screen, manager);
-
- /* ensure the default dpms timeouts are cleared */
- ret = gnome_rr_screen_set_dpms_mode (manager->priv->x11_screen,
-@@ -3927,6 +4154,11 @@ gsd_power_manager_stop (GsdPowerManager *manager)
- {
- g_debug ("Stopping power manager");
-
-+ if (manager->priv->inhibit_lid_switch_timer_id != 0) {
-+ g_source_remove (manager->priv->inhibit_lid_switch_timer_id);
-+ manager->priv->inhibit_lid_switch_timer_id = 0;
-+ }
-+
- if (manager->priv->bus_cancellable != NULL) {
- g_cancellable_cancel (manager->priv->bus_cancellable);
- g_object_unref (manager->priv->bus_cancellable);
-@@ -3938,8 +4170,6 @@ gsd_power_manager_stop (GsdPowerManager *manager)
- manager->priv->introspection_data = NULL;
- }
-
-- kill_lid_close_safety_timer (manager);
--
- g_signal_handlers_disconnect_by_data (manager->priv->up_client, manager);
-
- g_clear_object (&manager->priv->connection);
-@@ -3947,6 +4177,19 @@ gsd_power_manager_stop (GsdPowerManager *manager)
- g_clear_object (&manager->priv->settings);
- g_clear_object (&manager->priv->settings_screensaver);
- g_clear_object (&manager->priv->up_client);
-+
-+ if (manager->priv->inhibit_lid_switch_fd != -1) {
-+ close (manager->priv->inhibit_lid_switch_fd);
-+ manager->priv->inhibit_lid_switch_fd = -1;
-+ manager->priv->inhibit_lid_switch_taken = FALSE;
-+ }
-+ if (manager->priv->inhibit_suspend_fd != -1) {
-+ close (manager->priv->inhibit_suspend_fd);
-+ manager->priv->inhibit_suspend_fd = -1;
-+ manager->priv->inhibit_suspend_taken = FALSE;
-+ }
-+
-+ g_clear_object (&manager->priv->logind_proxy);
- g_clear_object (&manager->priv->x11_screen);
-
- g_ptr_array_unref (manager->priv->devices_array);
-@@ -3980,6 +4223,8 @@ static void
- gsd_power_manager_init (GsdPowerManager *manager)
- {
- manager->priv = GSD_POWER_MANAGER_GET_PRIVATE (manager);
-+ manager->priv->inhibit_lid_switch_fd = -1;
-+ manager->priv->inhibit_suspend_fd = -1;
- }
-
- static void
---
-1.8.0
-
diff --git a/community/gnome-settings-daemon-updates/PKGBUILD b/community/gnome-settings-daemon-updates/PKGBUILD
index e4125e240..ba4a392af 100644
--- a/community/gnome-settings-daemon-updates/PKGBUILD
+++ b/community/gnome-settings-daemon-updates/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 82410 2013-01-16 23:40:08Z jconder $
+# $Id: PKGBUILD 88701 2013-04-21 22:24:09Z heftig $
# Maintainer: Jonathan Conder
_pkgname=gnome-settings-daemon
pkgname=$_pkgname-updates
-pkgver=3.6.4
-pkgrel=2
+pkgver=3.8.1
+pkgrel=1
pkgdesc="Updates plugin for the GNOME Settings daemon"
arch=('i686' 'x86_64')
license=('GPL')
@@ -14,28 +14,20 @@ options=('!emptydirs' '!libtool')
install=$_pkgname.install
url="http://www.gnome.org"
source=("http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz"
- '0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch'
'arch.patch')
-sha256sums=('3db993f2dbabc0c9d06a309bb12c9a7104b9cdda414ac4b1c301f5114a441c15'
- 'dbea64c93db308cbcae52cf0c512986c6f07a0bd5023b0641255416af863011e'
+sha256sums=('367a770ec7affff3c85a43bc39ced5a02a1b1761780d954329f6b21c0f2efcee'
'32f18a02698bb24aa8ae293eb7bf74a8261e3ce2c5149d259a87bd14500089ea')
build() {
cd "$srcdir/$_pkgname-$pkgver"
- patch -Np1 -i "$srcdir/0001-power-and-media-keys-Use-logind-for-suspending-and-r.patch"
patch -Np1 -i "$srcdir/arch.patch"
- aclocal
- autoconf
- automake --add-missing
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib/gnome-settings-daemon \
- --disable-static \
- --enable-systemd \
- --disable-ibus
+ --disable-static
#https://bugzilla.gnome.org/show_bug.cgi?id=656231
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
diff --git a/community/gnote/PKGBUILD b/community/gnote/PKGBUILD
index 761cdf404..90582160b 100644
--- a/community/gnote/PKGBUILD
+++ b/community/gnote/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 82837 2013-01-24 20:04:23Z ioni $
+# $Id: PKGBUILD 88699 2013-04-21 22:24:06Z heftig $
# Maintainer: Ionut Biru
# Contributor: uastasi
pkgname=gnote
-pkgver=3.6.2
+pkgver=3.8.0
pkgrel=1
pkgdesc="A note taking application."
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ makedepends=('intltool' 'itstool' 'boost')
options=('!libtool')
install=gnote.install
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('38f3b069874658f281445e04b8376d946580e4a5e39620f7e30fdd8216d46c1e')
+sha256sums=('603e2cc8782f910a5b4fdfd3588d955d59f0f4ddcd5685d1f2feadb955e0e9e6')
build() {
cd $pkgname-$pkgver
diff --git a/community/gtksourceviewmm/PKGBUILD b/community/gtksourceviewmm/PKGBUILD
index 208e12cbb..1b7d00a51 100644
--- a/community/gtksourceviewmm/PKGBUILD
+++ b/community/gtksourceviewmm/PKGBUILD
@@ -1,10 +1,10 @@
-#$Id: PKGBUILD 82071 2013-01-07 09:40:20Z arodseth $
+#$Id: PKGBUILD 88691 2013-04-21 22:17:11Z heftig $
# Maintainer: Alexander Rødseth
# Contributor: Ionut Biru
pkgname=gtksourceviewmm
pkgver=3.2.0
-pkgrel=2
+pkgrel=4
pkgdesc='C++ bindings for the gtksourceview library'
arch=('x86_64' 'i686')
url='http://projects.gnome.org/gtksourceviewmm/'
diff --git a/community/gtranslator/PKGBUILD b/community/gtranslator/PKGBUILD
index 82881fd7c..6c4e2d718 100644
--- a/community/gtranslator/PKGBUILD
+++ b/community/gtranslator/PKGBUILD
@@ -1,31 +1,31 @@
-# $Id: PKGBUILD 87242 2013-03-28 21:28:56Z bgyorgy $
+# $Id: PKGBUILD 88692 2013-04-21 22:17:13Z heftig $
# Maintainer: Jaroslav Lichtblau
+# Maintainer: Alexander Rødseth
# Contributor: Hugo Doria
# Contributor: Christer Solskogen (solskogen@carebears.mine.nu)
pkgname=gtranslator
pkgver=2.91.6
-pkgrel=3
-pkgdesc="An enhanced gettext po file editor for the GNOME"
-arch=('i686' 'x86_64')
-url="http://projects.gnome.org/gtranslator/"
+pkgrel=4
+pkgdesc='Enhanced gettext po file editor for the GNOME'
+arch=('x86_64' 'i686')
+url='http://projects.gnome.org/gtranslator/'
license=('GPL')
depends=('desktop-file-utils' 'gdl' 'gettext' 'gtksourceview3' 'gtkspell3' 'iso-codes' 'libgda' 'libpeas' 'gsettings-desktop-schemas' 'hicolor-icon-theme' 'dconf')
makedepends=('intltool' 'itstool' 'gnome-doc-utils' 'gucharmap' 'json-glib' 'gnome-common' 'yelp-tools')
optdepends=('gucharmap: for charmap plugin'
'json-glib: for open-tran plugin')
options=('!libtool')
-install=$pkgname.install
-changelog=$pkgname.changelog
-source=(http://ftp.acc.umu.se/pub/GNOME/sources/$pkgname/2.91/$pkgname-$pkgver.tar.xz
- gtkspell3-port.patch)
+install="$pkgname.install"
+source=("http://ftp.acc.umu.se/pub/GNOME/sources/$pkgname/2.91/$pkgname-$pkgver.tar.xz"
+ 'gtkspell3-port.patch')
sha256sums=('a1fd4b17b1f32cc7223a31d34e34f95b20acc7b5a23768351a34ff0b7a4bcdf6'
'29afb55c692869cbd47d0181ddd93acdd53f5b236ebabd9a96a983da66d4cb9d')
build() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "$srcdir/$pkgname-$pkgver"
- # Port to the new gtkspell3
+ # port to the new gtkspell3
patch -Np1 -i "$srcdir/gtkspell3-port.patch"
autoreconf -fi
@@ -34,7 +34,9 @@ build() {
}
package() {
- cd ${srcdir}/${pkgname}-${pkgver}
+ cd "$srcdir/$pkgname-$pkgver"
- make DESTDIR=${pkgdir} install
+ make DESTDIR="$pkgdir" install
}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/gwibber/PKGBUILD b/community/gwibber/PKGBUILD
index 378218f5d..6bf243222 100644
--- a/community/gwibber/PKGBUILD
+++ b/community/gwibber/PKGBUILD
@@ -1,14 +1,14 @@
-# $Id: PKGBUILD 87240 2013-03-28 21:28:09Z bgyorgy $
+# $Id: PKGBUILD 88679 2013-04-21 22:16:47Z heftig $
# Maintainer: Balló György
pkgname=gwibber
pkgver=3.6.0
-pkgrel=3
+pkgrel=4
pkgdesc="Microblogging client for GNOME, which supports Facebook, Identi.ca, Twitter, Flickr, Foursquare, Sina and Sohu"
arch=('i686' 'x86_64')
url="http://gwibber.com/"
license=('GPL')
-depends=('libgee' 'account-plugins' 'libnotify' 'libsoup' 'dee' 'json-glib' 'gtkspell3' 'python2-dbus' 'python2-gobject' 'python2-gobject2' 'python2-httplib2' 'python2-oauth' 'python2-imaging' 'python2-xdg' 'dconf')
+depends=('libgee06' 'account-plugins' 'libnotify' 'libsoup' 'dee' 'json-glib' 'gtkspell3' 'python2-dbus' 'python2-gobject' 'python2-gobject2' 'python2-httplib2' 'python2-oauth' 'python2-imaging' 'python2-xdg' 'dconf')
makedepends=('intltool' 'vala')
options=('!libtool')
install=$pkgname.install
diff --git a/community/ktoblzcheck/PKGBUILD b/community/ktoblzcheck/PKGBUILD
index 22fa63751..f898512e5 100644
--- a/community/ktoblzcheck/PKGBUILD
+++ b/community/ktoblzcheck/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 80490 2012-11-22 19:42:25Z spupykin $
+# $Id: PKGBUILD 88778 2013-04-22 10:14:34Z spupykin $
# Maintainer: Sergej Pupykin
# Contributor: Philipp Sandhaus
pkgname=ktoblzcheck
-pkgver=1.40
+pkgver=1.41
pkgrel=1
pkgdesc="A library to check account numbers and bank codes of German banks"
arch=(i686 x86_64)
@@ -14,7 +14,7 @@ depends=('gcc-libs' 'python')
optdepends=('perl')
source=(http://downloads.sourceforge.net/sourceforge/ktoblzcheck/ktoblzcheck-$pkgver.tar.gz
ktoblzcheck-python3.patch)
-md5sums=('fe29ec3ef8b48adf0302fd9d2607580b'
+md5sums=('48f6d0086d780d1c101b17b5b63706f3'
'a81a697bb3aaeffb7fac0ad7d9166e3f')
build() {
diff --git a/community/metacity/PKGBUILD b/community/metacity/PKGBUILD
index 4919a27eb..5955d5b88 100644
--- a/community/metacity/PKGBUILD
+++ b/community/metacity/PKGBUILD
@@ -1,30 +1,46 @@
-# $Id: PKGBUILD 87887 2013-04-08 14:38:04Z heftig $
-# Maintainer: Jan de Groot
+# $Id: PKGBUILD 88686 2013-04-21 22:17:01Z heftig $
+# Maintainer: Balló György
+# Contributor: Jan de Groot
pkgname=metacity
pkgver=2.34.13
-pkgrel=1
-pkgdesc="A window manager for GNOME"
-arch=(i686 x86_64)
+pkgrel=4
+pkgdesc="Legacy GNOME window manager"
+arch=('i686' 'x86_64')
license=('GPL')
-depends=('dconf' 'gtk2' 'gsettings-desktop-schemas' 'libcanberra' 'libgtop' 'libsm' 'startup-notification' 'zenity')
-makedepends=('intltool' 'yelp-tools')
-url="http://www.gnome.org"
-groups=('gnome')
-options=('!libtool' '!emptydirs')
+depends=('dconf' 'libcanberra' 'libgtop' 'gsettings-desktop-schemas' 'gtk2' 'startup-notification' 'zenity')
+makedepends=('intltool' 'itstool')
+url="https://live.gnome.org/Metacity"
+options=('!libtool')
install=metacity.install
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz
- fix_compositing_startup.patch)
+ fix_compositing_startup.patch
+ fix_force_quit.patch
+ fix_shadows.patch
+ enable_compositing.patch)
sha256sums=('8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075'
- '5094a0ffe3eb8289ed752829877c2e1b743eddf938ad3fc92fb4574b42765ae2')
+ '5094a0ffe3eb8289ed752829877c2e1b743eddf938ad3fc92fb4574b42765ae2'
+ '917760ac3375894ebb4052dfc7c8dff1ac556fb81033d7a7caf02123ceede50d'
+ 'a0981477e9b3fd108fd03b7637bfd1f17a1f6cb13ec703d86b424b55076096f3'
+ 'e53c1c20e19cd3d94d05d08045c7a9a373ce52051928ccc69bf3068081f30f9a')
build() {
cd "$pkgname-$pkgver"
- patch -Np1 -i "${srcdir}/fix_compositing_startup.patch"
- ./configure --prefix=/usr --sysconfdir=/etc \
- --libexecdir=/usr/lib/metacity \
- --localstatedir=/var --disable-static \
- --disable-schemas-compile
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=658036
+ patch -Np1 -i "$srcdir/fix_compositing_startup.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=687938
+ patch -Np1 -i "$srcdir/fix_force_quit.patch"
+
+ # https://bugzilla.gnome.org/show_bug.cgi?id=648340
+ patch -Np1 -i "$srcdir/fix_shadows.patch"
+
+ # Enable compositing by default (required for the desktop rendering feature of nautilus)
+ patch -Np1 -i "$srcdir/enable_compositing.patch"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
+ --disable-static --disable-schemas-compile
make
}
diff --git a/community/metacity/enable_compositing.patch b/community/metacity/enable_compositing.patch
new file mode 100644
index 000000000..3c5f09666
--- /dev/null
+++ b/community/metacity/enable_compositing.patch
@@ -0,0 +1,12 @@
+diff -Naur metacity-2.34.13.orig/src/org.gnome.metacity.gschema.xml.in metacity-2.34.13/src/org.gnome.metacity.gschema.xml.in
+--- metacity-2.34.13.orig/src/org.gnome.metacity.gschema.xml.in 2012-02-15 18:31:44.000000000 +0100
++++ metacity-2.34.13/src/org.gnome.metacity.gschema.xml.in 2013-04-10 20:14:39.837033219 +0200
+@@ -3,7 +3,7 @@
+
+
+- false
++ true
+ <_summary>Compositing Manager
+ <_description>
+ Determines whether Metacity is a compositing manager.
diff --git a/community/metacity/fix_force_quit.patch b/community/metacity/fix_force_quit.patch
new file mode 100644
index 000000000..020f427c4
--- /dev/null
+++ b/community/metacity/fix_force_quit.patch
@@ -0,0 +1,222 @@
+diff -Naur metacity-2.34.13.orig/src/core/delete.c metacity-2.34.13/src/core/delete.c
+--- metacity-2.34.13.orig/src/core/delete.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/core/delete.c 2012-11-08 21:36:48.373976906 +0100
+@@ -90,23 +90,41 @@
+ return;
+ }
+
+- window_title = g_locale_from_utf8 (window->title, -1, NULL, NULL, NULL);
++ /* This is to get a better string if the title isn't representable
++ * in the locale encoding; actual conversion to UTF-8 is done inside
++ * meta_show_dialog */
++
++ if (window->title && window->title[0])
++ {
++ tmp = g_locale_from_utf8 (window->title, -1, NULL, NULL, NULL);
++ if (tmp == NULL)
++ window_title = NULL;
++ else
++ window_title = window->title;
++ g_free (tmp);
++ }
++ else
++ {
++ window_title = NULL;
++ }
+
+ /* Translators: %s is a window title */
+- tmp = g_strdup_printf (_("%s is not responding."),
+- window_title);
++ if (window_title)
++ tmp = g_markup_printf_escaped (_("%s is not responding."),
++ window_title);
++ else
++ tmp = g_strdup (_("Application is not responding."));
++
+ window_content = g_strdup_printf (
+ "%s\n\n%s",
+ tmp,
+ _("You may choose to wait a short while for it to "
+ "continue or force the application to quit entirely."));
+
+- g_free (window_title);
+-
+ dialog_pid =
+ meta_show_dialog ("--question",
+- window_content, 0,
+- window->screen->number,
++ window_content, NULL,
++ window->screen->screen_name,
+ _("_Wait"), _("_Force Quit"), window->xwindow,
+ NULL, NULL);
+
+diff -Naur metacity-2.34.13.orig/src/core/session.c metacity-2.34.13/src/core/session.c
+--- metacity-2.34.13.orig/src/core/session.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/core/session.c 2012-11-08 21:35:56.896216322 +0100
+@@ -1809,7 +1809,7 @@
+ "and will have to be restarted manually next time "
+ "you log in."),
+ "240",
+- meta_screen_get_screen_number (meta_get_display()->active_screen),
++ meta_get_display()->active_screen->screen_name,
+ NULL, NULL,
+ None,
+ columns,
+diff -Naur metacity-2.34.13.orig/src/core/util.c metacity-2.34.13/src/core/util.c
+--- metacity-2.34.13.orig/src/core/util.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/core/util.c 2012-11-08 21:36:41.373828115 +0100
+@@ -538,11 +538,30 @@
+ }
+ }
+
++/* Command line arguments are passed in the locale encoding; in almost
++ * all cases, we'd hope that is UTF-8 and no conversion is necessary.
++ * If it's not UTF-8, then it's possible that the message isn't
++ * representable in the locale encoding.
++ */
++static void
++append_argument (GPtrArray *args,
++ const char *arg)
++{
++ char *locale_arg = g_locale_from_utf8 (arg, -1, NULL, NULL, NULL);
++
++ /* This is cheesy, but it's better to have a few ???'s in the dialog
++ * for an unresponsive application than no dialog at all appear */
++ if (!locale_arg)
++ locale_arg = g_strdup ("???");
++
++ g_ptr_array_add (args, locale_arg);
++}
++
+ GPid
+ meta_show_dialog (const char *type,
+ const char *message,
+ const char *timeout,
+- const gint screen_number,
++ const char *display,
+ const char *ok_text,
+ const char *cancel_text,
+ const int transient_for,
+@@ -550,61 +569,58 @@
+ GSList *entries)
+ {
+ GError *error = NULL;
+- char *screen_number_text = g_strdup_printf("%d", screen_number);
+ GSList *tmp;
+- int i=0;
+ GPid child_pid;
+- const char **argvl = g_malloc(sizeof (char*) *
+- (17 +
+- g_slist_length (columns)*2 +
+- g_slist_length (entries)));
+-
+- argvl[i++] = "zenity";
+- argvl[i++] = type;
+- argvl[i++] = "--screen";
+- argvl[i++] = screen_number_text;
+- argvl[i++] = "--class";
+- argvl[i++] = "metacity-dialog";
+- argvl[i++] = "--title";
++ GPtrArray *args;
++
++ args = g_ptr_array_new ();
++
++ append_argument (args, "zenity");
++ append_argument (args, type);
++ append_argument (args, "--display");
++ append_argument (args, display);
++ append_argument (args, "--class");
++ append_argument (args, "metaicty-dialog");
++ append_argument (args, "--title");
+ /* Translators: This is the title used on dialog boxes */
+- argvl[i++] = _("Metacity");
+- argvl[i++] = "--text";
+- argvl[i++] = message;
+-
++ append_argument (args, _("Metacity"));
++ append_argument (args, "--text");
++ append_argument (args, message);
++
+ if (timeout)
+ {
+- argvl[i++] = "--timeout";
+- argvl[i++] = timeout;
++ append_argument (args, "--timeout");
++ append_argument (args, timeout);
+ }
+
+ if (ok_text)
+ {
+- argvl[i++] = "--ok-label";
+- argvl[i++] = ok_text;
++ append_argument (args, "--ok-label");
++ append_argument (args, ok_text);
+ }
+
+ if (cancel_text)
+ {
+- argvl[i++] = "--cancel-label";
+- argvl[i++] = cancel_text;
++ append_argument (args, "--cancel-label");
++ append_argument (args, cancel_text);
+ }
+-
++
+ tmp = columns;
+ while (tmp)
+ {
+- argvl[i++] = "--column";
+- argvl[i++] = tmp->data;
++ append_argument (args, "--column");
++ append_argument (args, tmp->data);
+ tmp = tmp->next;
+ }
+
+ tmp = entries;
+ while (tmp)
+ {
+- argvl[i++] = tmp->data;
++ append_argument (args, tmp->data);
+ tmp = tmp->next;
+ }
+-
+- argvl[i] = NULL;
++
++ g_ptr_array_add (args, NULL); /* NULL-terminate */
+
+ if (transient_for)
+ {
+@@ -615,7 +631,7 @@
+
+ g_spawn_async (
+ "/",
+- (gchar**) argvl, /* ugh */
++ (gchar**) args->pdata,
+ NULL,
+ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
+ NULL, NULL,
+@@ -626,8 +642,7 @@
+ if (transient_for)
+ unsetenv ("WINDOWID");
+
+- g_free (argvl);
+- g_free (screen_number_text);
++ g_ptr_array_free (args, TRUE);
+
+ if (error)
+ {
+diff -Naur metacity-2.34.13.orig/src/include/util.h metacity-2.34.13/src/include/util.h
+--- metacity-2.34.13.orig/src/include/util.h 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/include/util.h 2012-11-08 21:36:27.206860608 +0100
+@@ -99,9 +99,9 @@
+ void meta_free_gslist_and_elements (GSList *list_to_deep_free);
+
+ GPid meta_show_dialog (const char *type,
+- const char *title,
+ const char *message,
+- gint timeout,
++ const char *timeout,
++ const char *display,
+ const char *ok_text,
+ const char *cancel_text,
+ const int transient_for,
diff --git a/community/metacity/fix_shadows.patch b/community/metacity/fix_shadows.patch
new file mode 100644
index 000000000..8d4bf9939
--- /dev/null
+++ b/community/metacity/fix_shadows.patch
@@ -0,0 +1,39 @@
+diff -Naur metacity-2.34.13.orig/src/compositor/compositor-xrender.c metacity-2.34.13/src/compositor/compositor-xrender.c
+--- metacity-2.34.13.orig/src/compositor/compositor-xrender.c 2011-11-10 15:14:34.000000000 +0100
++++ metacity-2.34.13/src/compositor/compositor-xrender.c 2012-11-09 13:51:42.492411570 +0100
+@@ -905,35 +905,6 @@
+ }
+ }
+
+- /* Never put a shadow around shaped windows */
+- if (cw->shaped) {
+- meta_verbose ("Window has no shadow as it is shaped\n");
+- return FALSE;
+- }
+-
+- /* Don't put shadow around DND icon windows */
+- if (cw->type == META_COMP_WINDOW_DND ||
+- cw->type == META_COMP_WINDOW_DESKTOP) {
+- meta_verbose ("Window has no shadow as it is DND or Desktop\n");
+- return FALSE;
+- }
+-
+- if (cw->mode != WINDOW_ARGB) {
+- meta_verbose ("Window has shadow as it is not ARGB\n");
+- return TRUE;
+- }
+-
+- if (cw->type == META_COMP_WINDOW_MENU ||
+- cw->type == META_COMP_WINDOW_DROP_DOWN_MENU) {
+- meta_verbose ("Window has shadow as it is a menu\n");
+- return TRUE;
+- }
+-
+- if (cw->type == META_COMP_WINDOW_TOOLTIP) {
+- meta_verbose ("Window has shadow as it is a tooltip\n");
+- return TRUE;
+- }
+-
+ meta_verbose ("Window has no shadow as it fell through\n");
+ return FALSE;
+ }
diff --git a/community/muffin/PKGBUILD b/community/muffin/PKGBUILD
index e77f3c76d..8732424f9 100644
--- a/community/muffin/PKGBUILD
+++ b/community/muffin/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 85924 2013-03-09 00:51:47Z faidoc $
+# $Id: PKGBUILD 88697 2013-04-21 22:24:03Z heftig $
# Contributor: Adam Hani Schakaki
# Contributor: Ner0
pkgname=muffin
-pkgver=1.7.2
+pkgver=1.7.3
pkgrel=1
pkgdesc="Cinnamon window manager based on Mutter"
arch=('i686' 'x86_64')
@@ -11,20 +11,16 @@ url="https://github.com/linuxmint/muffin"
license=('GPL')
depends=('libsm' 'clutter' 'gobject-introspection' 'gsettings-desktop-schemas' \
'libcanberra' 'startup-notification' 'zenity' 'dconf')
-makedepends=('intltool' 'gnome-doc-utils')
-provides=('muffin-wm')
-conflicts=('muffin-wm')
-replaces=('muffin-wm')
+makedepends=('intltool' 'gnome-doc-utils' 'gnome-common')
options=('!libtool' '!emptydirs')
install=$pkgname.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/muffin/tarball/$pkgver")
-md5sums=('c39cd212959c7de8f834abe9e3fee8da')
+md5sums=('30e329da6af10e825dace490f13e445f')
build() {
cd linuxmint-muffin-*
- autoreconf -vfi
- PYTHON=python2 ./configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/muffin \
+ PYTHON=python2 ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/muffin \
--localstatedir=/var --disable-static --disable-schemas-compile
make
}
diff --git a/community/nemiver/PKGBUILD b/community/nemiver/PKGBUILD
index 8c6f3a4e7..1c36a5330 100644
--- a/community/nemiver/PKGBUILD
+++ b/community/nemiver/PKGBUILD
@@ -1,17 +1,16 @@
-# $Id: PKGBUILD 82907 2013-01-25 12:43:46Z arodseth $
+# $Id: PKGBUILD 88693 2013-04-21 22:17:15Z heftig $
# Maintainer: Alexander Rødseth
# Contributor: jordz
pkgname=nemiver
pkgver=0.9.4
-pkgrel=1
+pkgrel=2
pkgdesc='C/C++ debugger for GNOME'
arch=('x86_64' 'i686')
license=('GPL')
url='http://www.gnome.org/projects/nemiver/'
-depends=('gdlmm' 'gdb' 'gtksourceviewmm' 'libgtop' 'vte3' 'ghex' 'dconf' 'gsettings-desktop-schemas' 'itstool')
-makedepends=('boost' 'intltool' 'gnome-doc-utils')
-install=nemiver.install
+depends=('gdlmm' 'gdb' 'gtksourceviewmm' 'libgtop' 'vte3' 'ghex' 'dconf' 'gsettings-desktop-schemas')
+makedepends=('boost' 'intltool' 'itstool')
source=("http://ftp.acc.umu.se/pub/GNOME/sources/nemiver/0.9/$pkgname-$pkgver.tar.xz")
options=('!libtool' '!emptydirs')
sha256sums=('12cc5b6092ba720f2524f59928bee4d736e5e5ffeeffb6fd06f99695f17d683f')
diff --git a/community/nemiver/nemiver.install b/community/nemiver/nemiver.install
deleted file mode 100644
index f6a1886e7..000000000
--- a/community/nemiver/nemiver.install
+++ /dev/null
@@ -1,15 +0,0 @@
-post_upgrade() {
- usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas
- #update-desktop-database -q
- #gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
-}
-
-post_install() {
- post_upgrade
-}
-
-post_remove() {
- post_upgrade
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/community/nemo/PKGBUILD b/community/nemo/PKGBUILD
index 778009bb6..f2b15964c 100644
--- a/community/nemo/PKGBUILD
+++ b/community/nemo/PKGBUILD
@@ -1,33 +1,39 @@
-# $Id: PKGBUILD 86851 2013-03-22 21:28:54Z faidoc $
+# $Id: PKGBUILD 88773 2013-04-22 09:44:29Z faidoc $
# Maintainer: Alexandre Filgueira
# Contributor: Ner0
pkgname=nemo
-pkgver=1.7.2
-pkgrel=1
+pkgver=1.7.3
+pkgrel=2
pkgdesc="Cinnamon file manager (Nautilus fork)"
arch=('i686' 'x86_64')
url="https://github.com/linuxmint/nemo"
license=('GPL')
depends=('libexif' 'gvfs' 'dconf' 'desktop-file-utils' 'exempi' 'python2'
- 'gnome-desktop' 'gnome-icon-theme' 'libnotify' 'libtracker-sparql')
+ 'gnome-desktop' 'gnome-icon-theme' 'libnotify' 'libtracker-sparql'
+ 'cinnamon')
makedepends=('gtk-doc' 'gobject-introspection' 'intltool' 'gnome-common')
optdepends=('gksu: Open as Root')
-provides=('nemo-fm')
-replaces=('nemo-fm')
-conflicts=('nemo-fm')
options=('!emptydirs' '!libtool')
install=nemo.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/nemo/tarball/$pkgver"
- "use-terminal-config.patch")
-md5sums=('809cf58f472a9e5de628a763d441b246'
- '6cca080cc8fe3df7e725c0f8cd5fa485')
+ "tracker-0.16.patch"
+ "remove-desktop-background.patch")
+md5sums=('04c021da543e2562b712107c2be9a8c2'
+ '9e170cc74eee901634b3367b06a209c6'
+ '700b595dfcf06e39f9dc3bdb7c81e086')
build() {
cd linuxmint-nemo-*
- # Read the default terminal app from GSettings
- patch -Np1 -i ../use-terminal-config.patch
+ # Python2 fix
+ sed -i 's/bin\/python/bin\/python2/g' files/usr/share/nemo/actions/myaction.py
+
+ # https://github.com/linuxmint/nemo/pull/258
+ patch -Np1 -i ../tracker-0.16.patch
+
+ # https://github.com/linuxmint/nemo/pull/263
+ patch -Np1 -i ../remove-desktop-background.patch
./autogen.sh --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static \
@@ -43,7 +49,4 @@ package() {
cd linuxmint-nemo-*
make DESTDIR="$pkgdir/" install
-
- # Python2 fix
- sed -i 's/bin\/python/bin\/python2/g' "${pkgdir}/usr/share/nemo/actions/myaction.py"
}
diff --git a/community/nemo/remove-desktop-background.patch b/community/nemo/remove-desktop-background.patch
new file mode 100644
index 000000000..793d5650c
--- /dev/null
+++ b/community/nemo/remove-desktop-background.patch
@@ -0,0 +1,964 @@
+From 5f82ebba474f6c1068a21f51ded2b0e26869ecaf Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Mon, 15 Apr 2013 18:44:35 -0400
+Subject: [PATCH 1/4] Don't render the background. Need to fix selected icon
+ style
+
+---
+ src/nemo-desktop-icon-view.c | 18 +++---------------
+ src/nemo-desktop-window.c | 15 ++++++++++++++-
+ 2 files changed, 17 insertions(+), 16 deletions(-)
+
+diff --git a/src/nemo-desktop-icon-view.c b/src/nemo-desktop-icon-view.c
+index b903c5b..37cd8cb 100644
+--- a/src/nemo-desktop-icon-view.c
++++ b/src/nemo-desktop-icon-view.c
+@@ -243,16 +243,6 @@ struct NemoDesktopIconViewDetails
+ static void
+ real_begin_loading (NemoView *object)
+ {
+- NemoIconContainer *icon_container;
+- NemoDesktopIconView *view;
+-
+- view = NEMO_DESKTOP_ICON_VIEW (object);
+-
+- icon_container = get_icon_container (view);
+- if (view->details->background == NULL) {
+- view->details->background = nemo_desktop_background_new (icon_container);
+- }
+-
+ NEMO_VIEW_CLASS (nemo_desktop_icon_view_parent_class)->begin_loading (object);
+ }
+
+@@ -298,11 +288,6 @@ struct NemoDesktopIconViewDetails
+ nemo_view_update_menus,
+ icon_view);
+
+- if (icon_view->details->background != NULL) {
+- g_object_unref (icon_view->details->background);
+- icon_view->details->background = NULL;
+- }
+-
+ G_OBJECT_CLASS (nemo_desktop_icon_view_parent_class)->dispose (object);
+ }
+
+@@ -652,6 +637,9 @@ struct NemoDesktopIconViewDetails
+ G_CALLBACK (nemo_view_update_menus),
+ desktop_icon_view);
+
++ GdkRGBA transparent = { 0, 0, 0, 0 };
++ gtk_widget_override_background_color (GTK_WIDGET (icon_container), GTK_STATE_FLAG_NORMAL, &transparent);
++
+ have_cinnamon_settings = g_find_program_in_path ("cinnamon-settings") != NULL;
+ }
+
+diff --git a/src/nemo-desktop-window.c b/src/nemo-desktop-window.c
+index 9c80c62..2d5c4e8 100644
+--- a/src/nemo-desktop-window.c
++++ b/src/nemo-desktop-window.c
+@@ -97,6 +97,7 @@ struct NemoDesktopWindowDetails {
+ g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_DESKTOP_IS_HOME_DIR,
+ G_CALLBACK (nemo_desktop_window_update_directory),
+ window);
++
+ }
+
+ static void
+@@ -189,6 +190,12 @@ struct NemoDesktopWindowDetails {
+ /* Chain up to realize our children */
+ GTK_WIDGET_CLASS (nemo_desktop_window_parent_class)->map (widget);
+ gdk_window_lower (gtk_widget_get_window (widget));
++
++ GdkWindow *window;
++ GdkRGBA transparent = { 0, 0, 0, 0 };
++
++ window = gtk_widget_get_window (widget);
++ gdk_window_set_background_rgba (window, &transparent);
+ }
+
+ static void
+@@ -254,6 +261,7 @@ struct NemoDesktopWindowDetails {
+ {
+ NemoDesktopWindow *window;
+ NemoDesktopWindowDetails *details;
++ GdkVisual *visual;
+
+ window = NEMO_DESKTOP_WINDOW (widget);
+ details = window->details;
+@@ -261,7 +269,12 @@ struct NemoDesktopWindowDetails {
+ /* Make sure we get keyboard events */
+ gtk_widget_set_events (widget, gtk_widget_get_events (widget)
+ | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
+-
++
++ visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget));
++ if (visual) {
++ gtk_widget_set_visual (widget, visual);
++ }
++
+ /* Do the work of realizing. */
+ GTK_WIDGET_CLASS (nemo_desktop_window_parent_class)->realize (widget);
+
+--
+1.8.1.5
+
+
+From 6b013acb8f0ad855d042d0e8d51350c539a37c21 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Mon, 15 Apr 2013 20:03:03 -0400
+Subject: [PATCH 2/4] Remove nemo-desktop-background, the desktop window makes
+ a transparent background and just uses the existing rendered background from
+ muffin/g-s-d
+
+---
+ libnemo-private/Makefile.am | 2 -
+ libnemo-private/nemo-desktop-background.c | 578 ------------------------------
+ libnemo-private/nemo-desktop-background.h | 65 ----
+ src/nemo-desktop-icon-view.c | 26 +-
+ 4 files changed, 13 insertions(+), 658 deletions(-)
+ delete mode 100644 libnemo-private/nemo-desktop-background.c
+ delete mode 100644 libnemo-private/nemo-desktop-background.h
+
+diff --git a/libnemo-private/Makefile.am b/libnemo-private/Makefile.am
+index 3b46318..5fd797c 100644
+--- a/libnemo-private/Makefile.am
++++ b/libnemo-private/Makefile.am
+@@ -81,8 +81,6 @@ libnemo_private_la_SOURCES = \
+ nemo-debug.h \
+ nemo-default-file-icon.c \
+ nemo-default-file-icon.h \
+- nemo-desktop-background.c \
+- nemo-desktop-background.h \
+ nemo-desktop-directory-file.c \
+ nemo-desktop-directory-file.h \
+ nemo-desktop-directory.c \
+diff --git a/libnemo-private/nemo-desktop-background.c b/libnemo-private/nemo-desktop-background.c
+deleted file mode 100644
+index f8dc979..0000000
+--- a/libnemo-private/nemo-desktop-background.c
++++ /dev/null
+@@ -1,578 +0,0 @@
+-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+-
+-/*
+- * nemo-desktop-background.c: Helper object to handle desktop background
+- * changes.
+- *
+- * Copyright (C) 2000 Eazel, Inc.
+- * Copyright (C) 2010 Cosimo Cecchi
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of the
+- * License, or (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public
+- * License along with this program; if not, write to the
+- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500,
+- * Boston, MA 02110-1335, USA.
+- *
+- * Authors: Darin Adler
+- * Cosimo Cecchi
+- */
+-
+-#include
+-
+-#include "nemo-desktop-background.h"
+-
+-#include
+-#include
+-
+-#include "nemo-global-preferences.h"
+-
+-#define GNOME_DESKTOP_USE_UNSTABLE_API
+-#include
+-#include
+-
+-#include
+-#include
+-
+-static void init_fade (NemoDesktopBackground *self);
+-static void free_fade (NemoDesktopBackground *self);
+-static void queue_background_change (NemoDesktopBackground *self);
+-
+-static NemoDesktopBackground *singleton = NULL;
+-
+-G_DEFINE_TYPE (NemoDesktopBackground, nemo_desktop_background, G_TYPE_OBJECT);
+-
+-enum {
+- PROP_WIDGET = 1,
+- NUM_PROPERTIES,
+-};
+-
+-struct NemoDesktopBackgroundDetails {
+-
+- GtkWidget *widget;
+- GnomeBG *bg;
+-
+- /* Realized data: */
+- cairo_surface_t *background_surface;
+- GnomeBGCrossfade *fade;
+- int background_entire_width;
+- int background_entire_height;
+- GdkColor default_color;
+-
+- /* Desktop screen size watcher */
+- gulong screen_size_handler;
+- /* Desktop monitors configuration watcher */
+- gulong screen_monitors_handler;
+- guint change_idle_id;
+-};
+-
+-
+-static gboolean
+-background_settings_change_event_cb (GSettings *settings,
+- gpointer keys,
+- gint n_keys,
+- gpointer user_data);
+-
+-
+-static void
+-free_fade (NemoDesktopBackground *self)
+-{
+- if (self->details->fade != NULL) {
+- g_object_unref (self->details->fade);
+- self->details->fade = NULL;
+- }
+-}
+-
+-static void
+-free_background_surface (NemoDesktopBackground *self)
+-{
+- cairo_surface_t *surface;
+-
+- surface = self->details->background_surface;
+- if (surface != NULL) {
+- cairo_surface_destroy (surface);
+- self->details->background_surface = NULL;
+- }
+-}
+-
+-static void
+-nemo_desktop_background_finalize (GObject *object)
+-{
+- NemoDesktopBackground *self;
+-
+- self = NEMO_DESKTOP_BACKGROUND (object);
+-
+- g_signal_handlers_disconnect_by_func (gnome_background_preferences,
+- background_settings_change_event_cb,
+- self);
+-
+- free_background_surface (self);
+- free_fade (self);
+-
+- g_clear_object (&self->details->bg);
+-
+- G_OBJECT_CLASS (nemo_desktop_background_parent_class)->finalize (object);
+-}
+-
+-static void
+-nemo_desktop_background_unrealize (NemoDesktopBackground *self)
+-{
+- free_background_surface (self);
+-
+- self->details->background_entire_width = 0;
+- self->details->background_entire_height = 0;
+- self->details->default_color.red = 0xffff;
+- self->details->default_color.green = 0xffff;
+- self->details->default_color.blue = 0xffff;
+-}
+-
+-static void
+-nemo_desktop_background_set_image_uri (NemoDesktopBackground *self,
+- const char *image_uri)
+-{
+- char *filename;
+-
+- if (image_uri != NULL) {
+- filename = g_filename_from_uri (image_uri, NULL, NULL);
+- }
+- else {
+- filename = NULL;
+- }
+-
+- gnome_bg_set_filename (self->details->bg, filename);
+-
+- g_free (filename);
+-}
+-
+-static void
+-init_fade (NemoDesktopBackground *self)
+-{
+- GtkWidget *widget;
+- gboolean do_fade;
+-
+- widget = self->details->widget;
+-
+- if (widget == NULL || !gtk_widget_get_realized (widget))
+- return;
+-
+- do_fade = g_settings_get_boolean (nemo_desktop_preferences,
+- NEMO_PREFERENCES_DESKTOP_BACKGROUND_FADE);
+-
+- if (!do_fade) {
+- return;
+- }
+-
+- if (self->details->fade == NULL) {
+- GdkWindow *window;
+- GdkScreen *screen;
+- int old_width, old_height, width, height;
+-
+- /* If this was the result of a screen size change,
+- * we don't want to crossfade
+- */
+- window = gtk_widget_get_window (widget);
+- old_width = gdk_window_get_width (window);
+- old_height = gdk_window_get_height (window);
+-
+- screen = gtk_widget_get_screen (widget);
+- width = gdk_screen_get_width (screen);
+- height = gdk_screen_get_height (screen);
+-
+- if (old_width == width && old_height == height) {
+- self->details->fade = gnome_bg_crossfade_new (width, height);
+- g_signal_connect_swapped (self->details->fade,
+- "finished",
+- G_CALLBACK (free_fade),
+- self);
+- }
+- }
+-
+- if (self->details->fade != NULL && !gnome_bg_crossfade_is_started (self->details->fade)) {
+- cairo_surface_t *start_surface;
+-
+- if (self->details->background_surface == NULL) {
+- start_surface = gnome_bg_get_surface_from_root (gtk_widget_get_screen (widget));
+- } else {
+- start_surface = cairo_surface_reference (self->details->background_surface);
+- }
+- gnome_bg_crossfade_set_start_surface (self->details->fade,
+- start_surface);
+- cairo_surface_destroy (start_surface);
+- }
+-}
+-
+-static void
+-screen_size_changed (GdkScreen *screen,
+- NemoDesktopBackground *self)
+-{
+- queue_background_change (self);
+-}
+-
+-static gboolean
+-nemo_desktop_background_ensure_realized (NemoDesktopBackground *self)
+-{
+- int entire_width;
+- int entire_height;
+- GdkScreen *screen;
+- GdkWindow *window;
+-
+- screen = gtk_widget_get_screen (self->details->widget);
+- entire_height = gdk_screen_get_height (screen);
+- entire_width = gdk_screen_get_width (screen);
+-
+- /* If the window size is the same as last time, don't update */
+- if (entire_width == self->details->background_entire_width &&
+- entire_height == self->details->background_entire_height) {
+- return FALSE;
+- }
+-
+- free_background_surface (self);
+-
+- window = gtk_widget_get_window (self->details->widget);
+- self->details->background_surface = gnome_bg_create_surface (self->details->bg,
+- window,
+- entire_width, entire_height,
+- TRUE);
+-
+- /* We got the surface and everything, so we don't care about a change
+- that is pending (unless things actually change after this time) */
+- g_object_set_data (G_OBJECT (self),
+- "ignore-pending-change", GINT_TO_POINTER (TRUE));
+-
+- self->details->background_entire_width = entire_width;
+- self->details->background_entire_height = entire_height;
+-
+- return TRUE;
+-}
+-
+-static void
+-on_fade_finished (GnomeBGCrossfade *fade,
+- GdkWindow *window,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- nemo_desktop_background_ensure_realized (self);
+- gnome_bg_set_surface_as_root (gdk_window_get_screen (window),
+- self->details->background_surface);
+-}
+-
+-static gboolean
+-fade_to_surface (NemoDesktopBackground *self,
+- GdkWindow *window,
+- cairo_surface_t *surface)
+-{
+- if (self->details->fade == NULL) {
+- return FALSE;
+- }
+-
+- if (!gnome_bg_crossfade_set_end_surface (self->details->fade,
+- surface)) {
+- return FALSE;
+- }
+-
+- if (!gnome_bg_crossfade_is_started (self->details->fade)) {
+- gnome_bg_crossfade_start (self->details->fade, window);
+- g_signal_connect (self->details->fade,
+- "finished",
+- G_CALLBACK (on_fade_finished), self);
+- }
+-
+- return gnome_bg_crossfade_is_started (self->details->fade);
+-}
+-
+-static void
+-nemo_desktop_background_set_up_widget (NemoDesktopBackground *self)
+-{
+- GdkWindow *window;
+- gboolean in_fade = FALSE;
+- GtkWidget *widget;
+-
+- widget = self->details->widget;
+-
+- if (!gtk_widget_get_realized (widget)) {
+- return;
+- }
+-
+- nemo_desktop_background_ensure_realized (self);
+- window = gtk_layout_get_bin_window (GTK_LAYOUT (widget));
+-
+- in_fade = fade_to_surface (self, window,
+- self->details->background_surface);
+-
+- if (!in_fade) {
+- cairo_pattern_t *pattern;
+-
+- pattern = cairo_pattern_create_for_surface (self->details->background_surface);
+- gdk_window_set_background_pattern (window, pattern);
+- cairo_pattern_destroy (pattern);
+-
+- gnome_bg_set_surface_as_root (gtk_widget_get_screen (widget),
+- self->details->background_surface);
+- }
+-}
+-
+-static gboolean
+-background_changed_cb (NemoDesktopBackground *self)
+-{
+- self->details->change_idle_id = 0;
+-
+- nemo_desktop_background_unrealize (self);
+- nemo_desktop_background_set_up_widget (self);
+-
+- gtk_widget_queue_draw (self->details->widget);
+-
+- return FALSE;
+-}
+-
+-static void
+-queue_background_change (NemoDesktopBackground *self)
+-{
+- if (self->details->change_idle_id != 0) {
+- g_source_remove (self->details->change_idle_id);
+- }
+-
+- self->details->change_idle_id =
+- g_idle_add ((GSourceFunc) background_changed_cb, self);
+-}
+-
+-static void
+-nemo_desktop_background_changed (GnomeBG *bg,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self;
+-
+- self = user_data;
+- init_fade (self);
+- queue_background_change (self);
+-}
+-
+-static void
+-nemo_desktop_background_transitioned (GnomeBG *bg,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self;
+-
+- self = user_data;
+- free_fade (self);
+- queue_background_change (self);
+-}
+-
+-static void
+-widget_realize_cb (GtkWidget *widget,
+- gpointer user_data)
+-{
+- GdkScreen *screen;
+- NemoDesktopBackground *self = user_data;
+-
+- screen = gtk_widget_get_screen (widget);
+-
+- if (self->details->screen_size_handler > 0) {
+- g_signal_handler_disconnect (screen,
+- self->details->screen_size_handler);
+- }
+- self->details->screen_size_handler =
+- g_signal_connect (screen, "size_changed",
+- G_CALLBACK (screen_size_changed), self);
+-
+- if (self->details->screen_monitors_handler > 0) {
+- g_signal_handler_disconnect (screen,
+- self->details->screen_monitors_handler);
+- }
+- self->details->screen_monitors_handler =
+- g_signal_connect (screen, "monitors-changed",
+- G_CALLBACK (screen_size_changed), self);
+- nemo_desktop_background_set_up_widget (self);
+-}
+-
+-static void
+-widget_unrealize_cb (GtkWidget *widget,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- if (self->details->screen_size_handler > 0) {
+- g_signal_handler_disconnect (gtk_widget_get_screen (GTK_WIDGET (widget)),
+- self->details->screen_size_handler);
+- self->details->screen_size_handler = 0;
+- }
+- if (self->details->screen_monitors_handler > 0) {
+- g_signal_handler_disconnect (gtk_widget_get_screen (GTK_WIDGET (widget)),
+- self->details->screen_monitors_handler);
+- self->details->screen_monitors_handler = 0;
+- }
+-}
+-
+-static void
+-on_widget_destroyed (GtkWidget *widget,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- if (self->details->change_idle_id != 0) {
+- g_source_remove (self->details->change_idle_id);
+- self->details->change_idle_id = 0;
+- }
+-
+- free_fade (self);
+- self->details->widget = NULL;
+-}
+-
+-static gboolean
+-background_change_event_idle_cb (NemoDesktopBackground *self)
+-{
+- gnome_bg_load_from_preferences (self->details->bg,
+- gnome_background_preferences);
+-
+- g_object_unref (self);
+-
+- return FALSE;
+-}
+-
+-static gboolean
+-background_settings_change_event_cb (GSettings *settings,
+- gpointer keys,
+- gint n_keys,
+- gpointer user_data)
+-{
+- NemoDesktopBackground *self = user_data;
+-
+- /* Need to defer signal processing otherwise
+- * we would make the dconf backend deadlock.
+- */
+- g_idle_add ((GSourceFunc) background_change_event_idle_cb,
+- g_object_ref (self));
+-
+- return FALSE;
+-}
+-
+-static void
+-nemo_desktop_background_constructed (GObject *obj)
+-{
+- NemoDesktopBackground *self;
+- GtkWidget *widget;
+-
+- self = NEMO_DESKTOP_BACKGROUND (obj);
+-
+- if (G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructed != NULL) {
+- G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructed (obj);
+- }
+-
+- widget = self->details->widget;
+-
+- g_assert (widget != NULL);
+-
+- g_signal_connect_object (widget, "destroy",
+- G_CALLBACK (on_widget_destroyed), self, 0);
+- g_signal_connect_object (widget, "realize",
+- G_CALLBACK (widget_realize_cb), self, 0);
+- g_signal_connect_object (widget, "unrealize",
+- G_CALLBACK (widget_unrealize_cb), self, 0);
+-
+- gnome_bg_load_from_preferences (self->details->bg,
+- gnome_background_preferences);
+-
+- /* Let's receive batch change events instead of every single one */
+- g_signal_connect (gnome_background_preferences,
+- "change-event",
+- G_CALLBACK (background_settings_change_event_cb),
+- self);
+-
+- queue_background_change (self);
+-}
+-
+-static void
+-nemo_desktop_background_set_property (GObject *object,
+- guint property_id,
+- const GValue *value,
+- GParamSpec *pspec)
+-{
+- NemoDesktopBackground *self;
+-
+- self = NEMO_DESKTOP_BACKGROUND (object);
+-
+- switch (property_id) {
+- case PROP_WIDGET:
+- self->details->widget = g_value_get_object (value);
+- break;
+- default:
+- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+- break;
+- }
+-}
+-
+-static GObject *
+-nemo_desktop_background_constructor (GType type,
+- guint n_construct_params,
+- GObjectConstructParam *construct_params)
+-{
+- GObject *retval;
+-
+- if (singleton != NULL) {
+- return g_object_ref (singleton);
+- }
+-
+- retval = G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructor
+- (type, n_construct_params, construct_params);
+-
+- singleton = NEMO_DESKTOP_BACKGROUND (retval);
+- g_object_add_weak_pointer (retval, (gpointer) &singleton);
+-
+- return retval;
+-}
+-
+-static void
+-nemo_desktop_background_class_init (NemoDesktopBackgroundClass *klass)
+-{
+- GObjectClass *object_class;
+- GParamSpec *pspec;
+-
+- object_class = G_OBJECT_CLASS (klass);
+- object_class->finalize = nemo_desktop_background_finalize;
+- object_class->set_property = nemo_desktop_background_set_property;
+- object_class->constructor = nemo_desktop_background_constructor;
+- object_class->constructed = nemo_desktop_background_constructed;
+-
+- pspec = g_param_spec_object ("widget", "The widget for this background",
+- "The widget that gets its background set",
+- NEMO_TYPE_ICON_CONTAINER,
+- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+- g_object_class_install_property (object_class, PROP_WIDGET, pspec);
+-
+- g_type_class_add_private (klass, sizeof (NemoDesktopBackgroundDetails));
+-}
+-
+-static void
+-nemo_desktop_background_init (NemoDesktopBackground *self)
+-{
+- self->details =
+- G_TYPE_INSTANCE_GET_PRIVATE (self,
+- NEMO_TYPE_DESKTOP_BACKGROUND,
+- NemoDesktopBackgroundDetails);
+-
+- self->details->bg = gnome_bg_new ();
+- self->details->default_color.red = 0xffff;
+- self->details->default_color.green = 0xffff;
+- self->details->default_color.blue = 0xffff;
+-
+- g_signal_connect (self->details->bg, "changed",
+- G_CALLBACK (nemo_desktop_background_changed), self);
+- g_signal_connect (self->details->bg, "transitioned",
+- G_CALLBACK (nemo_desktop_background_transitioned), self);
+-}
+-
+-NemoDesktopBackground *
+-nemo_desktop_background_new (NemoIconContainer *container)
+-{
+- return g_object_new (NEMO_TYPE_DESKTOP_BACKGROUND,
+- "widget", container,
+- NULL);
+-}
+diff --git a/libnemo-private/nemo-desktop-background.h b/libnemo-private/nemo-desktop-background.h
+deleted file mode 100644
+index 8755cb1..0000000
+--- a/libnemo-private/nemo-desktop-background.h
++++ /dev/null
+@@ -1,65 +0,0 @@
+-/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+-
+-/*
+- * nemo-desktop-background.c: Helper object to handle desktop background
+- * changes.
+- *
+- * Copyright (C) 2000 Eazel, Inc.
+- * Copyright (C) 2010 Cosimo Cecchi
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License as
+- * published by the Free Software Foundation; either version 2 of the
+- * License, or (at your option) any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public
+- * License along with this program; if not, write to the
+- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500,
+- * Boston, MA 02110-1335, USA.
+- *
+- * Authors: Darin Adler
+- * Cosimo Cecchi
+- */
+-
+-#ifndef __NAUTILIUS_DESKTOP_BACKGROUND_H__
+-#define __NAUTILIUS_DESKTOP_BACKGROUND_H__
+-
+-#include
+-
+-#include "nemo-icon-container.h"
+-
+-typedef struct NemoDesktopBackground NemoDesktopBackground;
+-typedef struct NemoDesktopBackgroundClass NemoDesktopBackgroundClass;
+-
+-#define NEMO_TYPE_DESKTOP_BACKGROUND nemo_desktop_background_get_type()
+-#define NEMO_DESKTOP_BACKGROUND(obj) \
+- (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackground))
+-#define NEMO_DESKTOP_BACKGROUND_CLASS(klass) \
+- (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackgroundClass))
+-#define NEMO_IS_DESKTOP_BACKGROUND(obj) \
+- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_DESKTOP_BACKGROUND))
+-#define NEMO_IS_DESKTOP_BACKGROUND_CLASS(klass) \
+- (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_DESKTOP_BACKGROUND))
+-#define NEMO_DESKTOP_BACKGROUND_GET_CLASS(obj) \
+- (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackgroundClass))
+-
+-GType nemo_desktop_background_get_type (void);
+-NemoDesktopBackground * nemo_desktop_background_new (NemoIconContainer *container);
+-
+-typedef struct NemoDesktopBackgroundDetails NemoDesktopBackgroundDetails;
+-
+-struct NemoDesktopBackground {
+- GObject parent;
+- NemoDesktopBackgroundDetails *details;
+-};
+-
+-struct NemoDesktopBackgroundClass {
+- GObjectClass parent_class;
+-};
+-
+-#endif /* __NAUTILIUS_DESKTOP_BACKGROUND_H__ */
+diff --git a/src/nemo-desktop-icon-view.c b/src/nemo-desktop-icon-view.c
+index 37cd8cb..5dec8b5 100644
+--- a/src/nemo-desktop-icon-view.c
++++ b/src/nemo-desktop-icon-view.c
+@@ -41,7 +41,6 @@
+ #include
+ #include
+ #include
+-#include
+ #include
+ #include
+ #include
+@@ -76,8 +75,6 @@ struct NemoDesktopIconViewDetails
+ gulong delayed_init_signal;
+ guint reload_desktop_timeout;
+ gboolean pending_rescan;
+-
+- NemoDesktopBackground *background;
+ };
+
+ static void default_zoom_level_changed (gpointer user_data);
+@@ -240,12 +237,6 @@ struct NemoDesktopIconViewDetails
+ return GDK_FILTER_CONTINUE;
+ }
+
+-static void
+-real_begin_loading (NemoView *object)
+-{
+- NEMO_VIEW_CLASS (nemo_desktop_icon_view_parent_class)->begin_loading (object);
+-}
+-
+ static const char *
+ real_get_id (NemoView *view)
+ {
+@@ -300,7 +291,6 @@ struct NemoDesktopIconViewDetails
+
+ G_OBJECT_CLASS (class)->dispose = nemo_desktop_icon_view_dispose;
+
+- vclass->begin_loading = real_begin_loading;
+ vclass->merge_menus = real_merge_menus;
+ vclass->update_menus = real_update_menus;
+ vclass->get_view_id = real_get_id;
+@@ -428,6 +418,17 @@ struct NemoDesktopIconViewDetails
+ desktop_icon_view);
+ }
+
++static void
++desktop_icon_container_realize (GtkWidget *widget,
++ NemoDesktopIconView *desktop_icon_view)
++{
++ GdkWindow *bin_window;
++ GdkRGBA transparent = { 0, 0, 0, 0 };
++
++ bin_window = gtk_layout_get_bin_window (GTK_LAYOUT (widget));
++ gdk_window_set_background_rgba (bin_window, &transparent);
++}
++
+ static NemoZoomLevel
+ get_default_zoom_level (void)
+ {
+@@ -614,6 +615,8 @@ struct NemoDesktopIconViewDetails
+
+ g_signal_connect_object (icon_container, "middle_click",
+ G_CALLBACK (nemo_desktop_icon_view_handle_middle_click), desktop_icon_view, 0);
++ g_signal_connect_object (icon_container, "realize",
++ G_CALLBACK (desktop_icon_container_realize), desktop_icon_view, 0);
+ g_signal_connect_object (desktop_icon_view, "realize",
+ G_CALLBACK (realized_callback), desktop_icon_view, 0);
+ g_signal_connect_object (desktop_icon_view, "unrealize",
+@@ -637,9 +640,6 @@ struct NemoDesktopIconViewDetails
+ G_CALLBACK (nemo_view_update_menus),
+ desktop_icon_view);
+
+- GdkRGBA transparent = { 0, 0, 0, 0 };
+- gtk_widget_override_background_color (GTK_WIDGET (icon_container), GTK_STATE_FLAG_NORMAL, &transparent);
+-
+ have_cinnamon_settings = g_find_program_in_path ("cinnamon-settings") != NULL;
+ }
+
+--
+1.8.1.5
+
+
+From b40990397b6fff55878481a806a1b5574e43951f Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Mon, 15 Apr 2013 20:14:40 -0400
+Subject: [PATCH 3/4] Forgot an include
+
+---
+ libnemo-private/nemo-icon-dnd.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/libnemo-private/nemo-icon-dnd.c b/libnemo-private/nemo-icon-dnd.c
+index 017c6a7..2ed073c 100644
+--- a/libnemo-private/nemo-icon-dnd.c
++++ b/libnemo-private/nemo-icon-dnd.c
+@@ -52,7 +52,6 @@
+ #include
+ #include
+
+-#include
+ #include
+ #include
+ #include
+--
+1.8.1.5
+
+
+From 020d4dc15fa9c0e1303cef7795e45e688ede7726 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Tue, 16 Apr 2013 18:00:01 -0400
+Subject: [PATCH 4/4] Change to use cinnamon background keys
+
+---
+ libnemo-private/nemo-global-preferences.c | 2 +-
+ libnemo-private/nemo-global-preferences.h | 2 +-
+ src/nemo-places-sidebar.c | 2 +-
+ src/nemo-view.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c
+index d3ad20a..336afc3 100644
+--- a/libnemo-private/nemo-global-preferences.c
++++ b/libnemo-private/nemo-global-preferences.c
+@@ -76,7 +76,7 @@
+ nemo_desktop_preferences = g_settings_new("org.nemo.desktop");
+ nemo_tree_sidebar_preferences = g_settings_new("org.nemo.sidebar-panels.tree");
+ gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown");
+- gnome_background_preferences = g_settings_new("org.gnome.desktop.background");
++ cinnamon_background_preferences = g_settings_new("org.cinnamon.background");
+ gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
+ gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal");
+ }
+diff --git a/libnemo-private/nemo-global-preferences.h b/libnemo-private/nemo-global-preferences.h
+index 2b9c56a..c1ec61a 100644
+--- a/libnemo-private/nemo-global-preferences.h
++++ b/libnemo-private/nemo-global-preferences.h
+@@ -226,7 +226,7 @@ enum
+ GSettings *nemo_tree_sidebar_preferences;
+ GSettings *nemo_window_state;
+ GSettings *gnome_lockdown_preferences;
+-GSettings *gnome_background_preferences;
++GSettings *cinnamon_background_preferences;
+ GSettings *gnome_media_handling_preferences;
+ GSettings *gnome_terminal_preferences;
+
+diff --git a/src/nemo-places-sidebar.c b/src/nemo-places-sidebar.c
+index a0bc4d4..ca32193 100644
+--- a/src/nemo-places-sidebar.c
++++ b/src/nemo-places-sidebar.c
+@@ -3825,7 +3825,7 @@ static void expand_or_collapse_category (NemoPlacesSidebar *sidebar,
+ bookmarks_popup_menu_detach_cb,
+ sidebar);
+
+- g_signal_handlers_disconnect_by_func (gnome_background_preferences,
++ g_signal_handlers_disconnect_by_func (cinnamon_background_preferences,
+ desktop_setting_changed_callback,
+ sidebar);
+
+diff --git a/src/nemo-view.c b/src/nemo-view.c
+index ab03b44..3ece32a 100644
+--- a/src/nemo-view.c
++++ b/src/nemo-view.c
+@@ -6945,7 +6945,7 @@ static void slot_changed_pane (NemoWindowSlot *slot,
+
+ uri = nemo_file_info_get_uri (file);
+
+- g_settings_set_string (gnome_background_preferences,
++ g_settings_set_string (cinnamon_background_preferences,
+ "picture-uri", uri);
+ g_free (uri);
+ }
+--
+1.8.1.5
+
diff --git a/community/nemo/tracker-0.16.patch b/community/nemo/tracker-0.16.patch
new file mode 100644
index 000000000..49964678d
--- /dev/null
+++ b/community/nemo/tracker-0.16.patch
@@ -0,0 +1,33 @@
+From 88459a57ac2fcf06400ade5c6d0189bf1aa2334d Mon Sep 17 00:00:00 2001
+From: Nick Black
+Date: Fri, 12 Apr 2013 17:10:46 -0400
+Subject: [PATCH] build with tracker 0.16
+
+---
+ configure.in | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index ec72f73..21afbe4 100644
+--- a/configure.in
++++ b/configure.in
+@@ -249,11 +249,13 @@ AC_ARG_ENABLE(tracker,
+
+ build_tracker=no
+ if test "x$enable_tracker" != "xno"; then
+- PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.14,
++ PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.16,
+ [build_tracker=yes],
+- [PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.12,
++ [PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.14,
++ [build_tracker=yes],
++ [PKG_CHECK_MODULES(TRACKER, tracker-sparql-0.12,
+ [build_tracker=yes],
+- [build_tracker=no])])
++ [build_tracker=no])])])
+ if test "x$build_tracker" = "xyes"; then
+ AC_DEFINE(ENABLE_TRACKER, 1, [Define to enable Tracker support])
+ fi
+--
+1.8.1.5
+
diff --git a/community/nemo/use-terminal-config.patch b/community/nemo/use-terminal-config.patch
deleted file mode 100644
index a6af75d48..000000000
--- a/community/nemo/use-terminal-config.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -Naur linuxmint-nemo-63f7b44.orig/libnemo-private/nemo-global-preferences.c linuxmint-nemo-63f7b44/libnemo-private/nemo-global-preferences.c
---- linuxmint-nemo-63f7b44.orig/libnemo-private/nemo-global-preferences.c 2013-02-19 17:30:18.000000000 +0100
-+++ linuxmint-nemo-63f7b44/libnemo-private/nemo-global-preferences.c 2013-03-04 04:05:13.472897136 +0100
-@@ -77,5 +77,6 @@
- nemo_tree_sidebar_preferences = g_settings_new("org.nemo.sidebar-panels.tree");
- gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown");
- gnome_background_preferences = g_settings_new("org.gnome.desktop.background");
-- gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
-+ gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
-+ gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal");
- }
-diff -Naur linuxmint-nemo-63f7b44.orig/libnemo-private/nemo-global-preferences.h linuxmint-nemo-63f7b44/libnemo-private/nemo-global-preferences.h
---- linuxmint-nemo-63f7b44.orig/libnemo-private/nemo-global-preferences.h 2013-02-19 17:30:18.000000000 +0100
-+++ linuxmint-nemo-63f7b44/libnemo-private/nemo-global-preferences.h 2013-03-04 04:49:20.581767625 +0100
-@@ -211,6 +211,9 @@
- #define GNOME_DESKTOP_MEDIA_HANDLING_AUTOMOUNT_OPEN "automount-open"
- #define GNOME_DESKTOP_MEDIA_HANDLING_AUTORUN "autorun-never"
-
-+/* Terminal */
-+#define GNOME_DESKTOP_TERMINAL_EXEC "exec"
-+
- void nemo_global_preferences_init (void);
- char *nemo_global_preferences_get_default_folder_viewer_preference_as_iid (void);
-
-@@ -224,6 +227,7 @@
- GSettings *gnome_lockdown_preferences;
- GSettings *gnome_background_preferences;
- GSettings *gnome_media_handling_preferences;
-+GSettings *gnome_terminal_preferences;
-
- G_END_DECLS
-
-diff -Naur linuxmint-nemo-63f7b44.orig/src/nemo-view.c linuxmint-nemo-63f7b44/src/nemo-view.c
---- linuxmint-nemo-63f7b44.orig/src/nemo-view.c 2013-02-19 17:30:18.000000000 +0100
-+++ linuxmint-nemo-63f7b44/src/nemo-view.c 2013-03-04 04:14:47.222310992 +0100
-@@ -6716,7 +6716,8 @@
- open_in_terminal (gchar *location)
- {
- gchar *argv[2];
-- argv[0] = "x-terminal-emulator";
-+ argv[0] = g_settings_get_string (gnome_terminal_preferences,
-+ GNOME_DESKTOP_TERMINAL_EXEC);
- argv[1] = NULL;
- g_spawn_async(location, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
- }
diff --git a/community/notion/PKGBUILD b/community/notion/PKGBUILD
index 7baeaa3d5..a94cee35b 100644
--- a/community/notion/PKGBUILD
+++ b/community/notion/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 81125 2012-12-12 00:49:36Z eric $
+# $Id: PKGBUILD 88793 2013-04-22 10:31:24Z spupykin $
# Maintainer: Sergej Pupykin
# Maintainer: Eugen Zagorodniy e dot zagorodniy at gmail dot com
# Contributor: aunoor
pkgname=notion
-pkgver=20121114
+pkgver=20130422
pkgrel=1
pkgdesc="Tabbed tiling, window manager. Fork of Ion3"
url="http://sourceforge.net/projects/notion/"
@@ -16,51 +16,41 @@ makedepends=('git' 'pkgconfig' 'libxinerama' 'libxrandr'
'rubber' 'latex2html' 'texlive-htmlxml' 'texlive-latexextra')
provides=('libtu' 'libextl')
changelog=ChangleLog
-_gitroots=("git://notion.git.sourceforge.net/gitroot/notion/notion"
- "git://notion.git.sourceforge.net/gitroot/notion/libtu"
- "git://notion.git.sourceforge.net/gitroot/notion/libextl"
- "git://notion.git.sourceforge.net/gitroot/notion/notion-doc"
- "git://notion.git.sourceforge.net/gitroot/notion/mod_xinerama"
- "git://notion.git.sourceforge.net/gitroot/notion/mod_xkbevents"
- "git://notion.git.sourceforge.net/gitroot/notion/mod_xrandr"
- "git://notion.git.sourceforge.net/gitroot/notion/mod_notionflux"
- "git://notion.git.sourceforge.net/gitroot/notion/contrib")
-md5sums=()
-md5sums=()
+source=("git://notion.git.sourceforge.net/gitroot/notion/notion"
+ "git://notion.git.sourceforge.net/gitroot/notion/libtu"
+ "git://notion.git.sourceforge.net/gitroot/notion/libextl"
+ "git://notion.git.sourceforge.net/gitroot/notion/notion-doc"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_xinerama"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_xkbevents"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_xrandr"
+ "git://notion.git.sourceforge.net/gitroot/notion/mod_notionflux"
+ "git://notion.git.sourceforge.net/gitroot/notion/contrib")
+md5sums=('SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP')
build() {
cd ${srcdir}
- # git clone
- for _gitroot in ${_gitroots[@]}; do
- msg "Connecting to the git repository..."
- _gitname=`basename ${_gitroot}`
- if [ -d ${srcdir}/${_gitname} ]; then
- pushd ${srcdir}/${_gitname}
- git pull origin
- popd
- else
- git clone --depth 1 ${_gitroot}
- fi
- msg "GIT checkout done or server timeout"
- done
-
- # copy to notion-build
- rm -rf ${srcdir}/notion-build
- cp -r ${srcdir}/notion ${srcdir}/notion-build
for i in libextl libtu mod_xinerama mod_xkbevents mod_xrandr mod_notionflux notion-doc; do
- cp -r ${srcdir}/$i ${srcdir}/notion-build/
+ cp -r ${srcdir}/$i ${srcdir}/notion/
done
# build notion
- cd ${srcdir}/notion-build
+ cd ${srcdir}/notion
msg "Starting make..."
sed -e 's/^\(PREFIX=\).*$/\1\/usr/' \
-e 's/^\(ETCDIR=\).*$/\1\/etc\/notion/' \
-e 's/^\(LUA_DIR=\).*$/\1\/usr/' \
-e 's/^\(X11_PREFIX=\).*/\1\/usr/' \
-i system-autodetect.mk
- make INCLUDES=-I${srcdir}/notion-build
+ make INCLUDES=-I${srcdir}/notion
# build doc and modules
for i in mod_xinerama mod_xkbevents mod_xrandr; do
@@ -71,7 +61,7 @@ build() {
}
package() {
- cd ${srcdir}/notion-build
+ cd ${srcdir}/notion
# notion
make PREFIX=${pkgdir}/usr ETCDIR=${pkgdir}/etc/notion install
diff --git a/community/shotwell/PKGBUILD b/community/shotwell/PKGBUILD
index c196db66f..7726c625c 100644
--- a/community/shotwell/PKGBUILD
+++ b/community/shotwell/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 87716 2013-04-05 10:40:18Z spupykin $
+# $Id: PKGBUILD 88680 2013-04-21 22:16:49Z heftig $
# Maintainer: Sergej Pupykin
# Maintainer : Ionut Biru
# Contributor: Joeny Ang
pkgname=shotwell
pkgver=0.14.1
-pkgrel=1
+pkgrel=3
pkgdesc="A digital photo organizer designed for the GNOME desktop environment"
arch=('i686' 'x86_64')
url="http://yorba.org/shotwell/"
license=('LGPL2.1')
-depends=('libgee' 'libwebkit3' 'libgexiv2' 'libraw' 'rest'
+depends=('libgee06' 'libwebkit3' 'libgexiv2' 'libraw' 'rest'
'desktop-file-utils' 'dconf' 'hicolor-icon-theme' 'json-glib'
'gst-plugins-base' 'libgphoto2')
makedepends=('intltool' 'vala>=0.17.2' 'libunique3')
diff --git a/community/synapse/PKGBUILD b/community/synapse/PKGBUILD
index c54dbcd3a..c6a3accf1 100644
--- a/community/synapse/PKGBUILD
+++ b/community/synapse/PKGBUILD
@@ -1,22 +1,22 @@
-# $Id: PKGBUILD 81698 2012-12-27 01:23:31Z fyan $
+# $Id: PKGBUILD 88681 2013-04-21 22:16:50Z heftig $
# Maintainer: Felix Yan
# Contributor: Alessio Sergi
pkgname=synapse
pkgver=0.2.10
-pkgrel=3
+pkgrel=5
pkgdesc="A semantic file launcher"
arch=('i686' 'x86_64')
url="https://launchpad.net/synapse-project"
license=('GPL3')
-depends=('gtkhotkey' 'hicolor-icon-theme' 'json-glib' 'libgee' 'libnotify' \
+depends=('gtkhotkey' 'hicolor-icon-theme' 'json-glib' 'libgee06' 'libnotify' \
'libunique' 'libzeitgeist' 'rest' 'xdg-utils')
makedepends=('intltool' 'vala')
optdepends=('banshee: banshee plugin'
'bc: calculator plugin'
'devhelp: documentation plugin'
'gnome-screensaver: screensaver plugin'
- 'gnome-utils: dictionary plugin'
+ 'gnome-dictionary: dictionary plugin'
'openssh: ssh plugin'
'pastebinit: pastebin plugin'
'rhythmbox: rhythmbox plugin'
diff --git a/community/ubuntuone-client-gnome/PKGBUILD b/community/ubuntuone-client-gnome/PKGBUILD
index d3cbd7d1a..c1c9c1c7b 100644
--- a/community/ubuntuone-client-gnome/PKGBUILD
+++ b/community/ubuntuone-client-gnome/PKGBUILD
@@ -1,24 +1,29 @@
-# $Id: PKGBUILD 87514 2013-04-02 00:47:12Z bgyorgy $
+# $Id: PKGBUILD 88682 2013-04-21 22:16:52Z heftig $
# Maintainer: Balló György
pkgname=ubuntuone-client-gnome
pkgver=4.2.0
-pkgrel=1
+pkgrel=2
pkgdesc="Some plug-ins, extensions, and data for integrating Ubuntu One features in some core parts of GNOME"
arch=('i686' 'x86_64')
url="https://launchpad.net/ubuntuone-client-gnome"
license=('GPL')
depends=('nautilus' 'gconf' 'ubuntuone-client')
makedepends=('intltool' 'gnome-settings-daemon')
-optdepends=('gnome-settings-daemon: shows a warning when Ubuntu One runs out of space')
options=('!libtool')
install=$pkgname.install
-source=(https://launchpad.net/ubuntuone-client-gnome/stable-4-2/$pkgver/+download/$pkgname-$pkgver.tar.gz)
-md5sums=('e2f5e4ef6f4eca6ffcf838b3aa46c3ef')
+source=(https://launchpad.net/ubuntuone-client-gnome/stable-4-2/$pkgver/+download/$pkgname-$pkgver.tar.gz
+ disable-gsd-plugin.patch)
+md5sums=('e2f5e4ef6f4eca6ffcf838b3aa46c3ef'
+ 'e2b1b677844c3b61530f3653808b6644')
build() {
cd "$srcdir/$pkgname-$pkgver"
+ # Disable gsd plugin, as it's not compatible with gnome-settings-daemon 3.8
+ patch -Np1 -i "$srcdir/disable-gsd-plugin.patch"
+
+ autoreconf -fi
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--disable-static --disable-schemas-compile
make
diff --git a/community/ubuntuone-client-gnome/disable-gsd-plugin.patch b/community/ubuntuone-client-gnome/disable-gsd-plugin.patch
new file mode 100644
index 000000000..2199536e2
--- /dev/null
+++ b/community/ubuntuone-client-gnome/disable-gsd-plugin.patch
@@ -0,0 +1,21 @@
+diff -Naur ubuntuone-client-gnome-4.2.0.orig/configure.ac ubuntuone-client-gnome-4.2.0/configure.ac
+--- ubuntuone-client-gnome-4.2.0.orig/configure.ac 2013-03-26 20:48:40.000000000 +0100
++++ ubuntuone-client-gnome-4.2.0/configure.ac 2013-04-09 22:26:38.135983473 +0200
+@@ -5,7 +5,7 @@
+ AC_CONFIG_SRCDIR([config.h.in])
+
+ AM_INIT_AUTOMAKE([1.10 foreign])
+-AM_CONFIG_HEADER([config.h])
++AC_CONFIG_HEADERS([config.h])
+
+ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
+
+diff -Naur ubuntuone-client-gnome-4.2.0.orig/Makefile.am ubuntuone-client-gnome-4.2.0/Makefile.am
+--- ubuntuone-client-gnome-4.2.0.orig/Makefile.am 2013-03-21 18:13:58.000000000 +0100
++++ ubuntuone-client-gnome-4.2.0/Makefile.am 2013-04-09 22:22:05.109626589 +0200
+@@ -1,4 +1,4 @@
+-SUBDIRS = gsd nautilus po
++SUBDIRS = nautilus po
+
+ # Shut libtoolize up
+ ACLOCAL_AMFLAGS = -I m4
diff --git a/community/virtualbox-modules-lts/PKGBUILD b/community/virtualbox-modules-lts/PKGBUILD
index dd6ecae95..4dba9fb7f 100644
--- a/community/virtualbox-modules-lts/PKGBUILD
+++ b/community/virtualbox-modules-lts/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88157 2013-04-12 15:58:47Z seblu $
+# $Id: PKGBUILD 88762 2013-04-22 09:40:39Z tpowa $
# Maintainer: Bartłomiej Piotrowski
# Contributor: Ionut Biru
# Contributor: Sébastien Luttringer
@@ -6,7 +6,7 @@
pkgbase=virtualbox-modules-lts
pkgname=('virtualbox-host-modules-lts' 'virtualbox-guest-modules-lts')
pkgver=4.2.12
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')
diff --git a/community/virtualbox-modules/PKGBUILD b/community/virtualbox-modules/PKGBUILD
index 3941dbe84..7d2e3f867 100644
--- a/community/virtualbox-modules/PKGBUILD
+++ b/community/virtualbox-modules/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 88161 2013-04-12 16:17:46Z seblu $
+# $Id: PKGBUILD 88763 2013-04-22 09:42:07Z tpowa $
# Maintainer: Ionut Biru
# Maintainer: Sébastien Luttringer
pkgbase=virtualbox-modules
pkgname=('virtualbox-host-modules' 'virtualbox-guest-modules')
pkgver=4.2.12
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')
diff --git a/community/xdebug/PKGBUILD b/community/xdebug/PKGBUILD
index 505bd2f59..d35adfd72 100644
--- a/community/xdebug/PKGBUILD
+++ b/community/xdebug/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88528 2013-04-19 10:32:46Z spupykin $
+# $Id: PKGBUILD 88795 2013-04-22 10:32:02Z spupykin $
# Maintainer: Sergej Pupykin
# Maintainer: Jonathan Wiersma
# Contributor: Jonathan Wiersma
@@ -6,7 +6,7 @@
pkgname=xdebug
pkgver=2.2.2
-pkgrel=1
+pkgrel=2
pkgdesc="PHP debugging extension"
arch=('i686' 'x86_64')
url="http://www.xdebug.org"
@@ -22,8 +22,6 @@ md5sums=('5687bca6270b9668721090d780c7c966'
'68de800943369d4c76bdf7eb35c8463b')
build() {
- local PHPVER=`php -r 'echo phpversion();'`
-
cd $srcdir/$pkgname-$pkgver
phpize
./configure --prefix=/usr --enable-xdebug
@@ -35,12 +33,14 @@ build() {
}
package() {
+ local PHPVER=`php -r 'echo phpversion();'`
+
cd $srcdir/$pkgname-$pkgver/debugclient
make DESTDIR=$pkgdir install
cd $srcdir/$pkgname-$pkgver
if [ "$PHPVER" \< "5.3.0" ] ; then
- install -D -m 744 modules/xdebug.so $pkgdir/usr/lib/php/xdebug.so
+ install -D -m 744 modules/xdebug.so $pkgdir/usr/lib/php/modules/xdebug.so
install -D -m 644 $srcdir/xdebug-5.2.ini $pkgdir/etc/php/conf.d/xdebug.ini
else
install -D -m 744 modules/xdebug.so $pkgdir/usr/lib/php/modules/xdebug.so
diff --git a/community/xsettings-client/PKGBUILD b/community/xsettings-client/PKGBUILD
index afef330ad..d314d7aa4 100644
--- a/community/xsettings-client/PKGBUILD
+++ b/community/xsettings-client/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 65273 2012-02-20 12:44:47Z spupykin $
+# $Id: PKGBUILD 88791 2013-04-22 10:19:12Z spupykin $
# Maintainer: Sergej Pupykin
# Contributor: Alois Belaska
@@ -11,12 +11,16 @@ license=('GPL')
url="http://matchbox-project.org"
depends=('libx11')
options=('!libtool')
-source=(http://matchbox-project.org/sources/optional-dependencies/Xsettings-client-$pkgver.tar.gz)
+source=(http://downloads.yoctoproject.org/releases/matchbox/optional-dependencies/Xsettings-client-$pkgver.tar.gz)
md5sums=('c14aa9db6c097e0306dac97fb7da1add')
build() {
cd $srcdir/Xsettings-client-$pkgver
./configure --prefix=/usr
make
+}
+
+package() {
+ cd $srcdir/Xsettings-client-$pkgver
make DESTDIR=$pkgdir install
}
diff --git a/community/zeitgeist-datahub/PKGBUILD b/community/zeitgeist-datahub/PKGBUILD
deleted file mode 100644
index 535899a65..000000000
--- a/community/zeitgeist-datahub/PKGBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# $Id: PKGBUILD 79124 2012-10-30 23:06:48Z heftig $
-# Maintainer: Balló György
-# Contributor: Leontius Adhika Pradhana
-# Contributor: Ner0
-
-pkgname=zeitgeist-datahub
-pkgver=0.9.5
-pkgrel=2
-pkgdesc="Provides passive plugins which insert events into Zeitgeist"
-arch=('i686' 'x86_64')
-url="https://launchpad.net/zeitgeist-datahub"
-license=('GPL3')
-depends=('libzeitgeist' 'json-glib' 'gtk2' 'telepathy-glib' 'zeitgeist')
-makedepends=('intltool' 'vala')
-source=(http://launchpad.net/$pkgname/${pkgver%.*}/$pkgver/+download/$pkgname-$pkgver.tar.gz)
-md5sums=('b2b76b82b67363c45e5fe4f39a172775')
-
-build() {
- cd "$srcdir/$pkgname-$pkgver"
-
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
- make
-}
-
-package() {
- cd "$srcdir/$pkgname-$pkgver"
-
- make DESTDIR="$pkgdir/" install
-}
--
cgit v1.2.3-54-g00ecf
From 6e4a9ce4b0809e1eeb57f514f5ea71e2e77355bb Mon Sep 17 00:00:00 2001
From: root
Date: Wed, 24 Apr 2013 00:49:38 -0700
Subject: Wed Apr 24 00:49:37 PDT 2013
---
community/avr-gcc/PKGBUILD | 8 ++--
community/fcitx/PKGBUILD | 15 ++++---
community/gnome-panel/PKGBUILD | 9 +---
community/gnome-panel/logout-hang-workaround.patch | 15 -------
community/libmatio/PKGBUILD | 19 +++++---
community/metacity/PKGBUILD | 13 ++++--
community/metacity/application-switcher.patch | 26 +++++++++++
community/mplayer2/PKGBUILD | 5 ++-
community/puzzles/PKGBUILD | 4 +-
community/tinc/PKGBUILD | 8 ++--
extra/brltty/PKGBUILD | 21 +++++----
extra/brltty/brltty.service | 2 +-
extra/dconf/PKGBUILD | 4 +-
extra/msmtp/PKGBUILD | 15 ++++---
extra/opengtl/PKGBUILD | 17 +++----
.../opengtl-0.9.17-fix-ftbfs-with-llvm-3.2.patch | 38 ----------------
extra/pyqt/PKGBUILD | 12 ++---
libre/blender-libre/PKGBUILD | 47 ++++++++++---------
libre/opencollada/PKGBUILD | 52 ++++++++++++++++++++++
19 files changed, 181 insertions(+), 149 deletions(-)
delete mode 100644 community/gnome-panel/logout-hang-workaround.patch
create mode 100644 community/metacity/application-switcher.patch
delete mode 100644 extra/opengtl/opengtl-0.9.17-fix-ftbfs-with-llvm-3.2.patch
create mode 100644 libre/opencollada/PKGBUILD
(limited to 'community')
diff --git a/community/avr-gcc/PKGBUILD b/community/avr-gcc/PKGBUILD
index d7bca6f70..3bcecdca4 100644
--- a/community/avr-gcc/PKGBUILD
+++ b/community/avr-gcc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88221 2013-04-14 18:17:00Z schuay $
+# $Id: PKGBUILD 88836 2013-04-23 14:57:29Z schuay $
# Maintainer: schuay
# Contributor: Brad Fanella
# Contributor: Corrado Primier
@@ -9,7 +9,7 @@
pkgname=avr-gcc
_pkgname=gcc
pkgver=4.8.0
-pkgrel=1
+pkgrel=2
pkgdesc="The GNU AVR Compiler Collection"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
@@ -43,12 +43,15 @@ build() {
cd ${srcdir}
mkdir gcc-build && cd gcc-build
+ # --disable-linker-build-id: https://bugs.archlinux.org/task/34902
+
${srcdir}/${_basedir}/configure \
--disable-cloog-version-check \
--disable-install-libiberty \
--disable-libssp \
--disable-libstdcxx-pch \
--disable-libunwind-exceptions \
+ --disable-linker-build-id \
--disable-nls \
--disable-werror \
--enable-__cxa_atexit \
@@ -59,7 +62,6 @@ build() {
--enable-gold \
--enable-languages=c,c++ \
--enable-ld=default \
- --enable-linker-build-id \
--enable-lto \
--enable-plugin \
--enable-shared \
diff --git a/community/fcitx/PKGBUILD b/community/fcitx/PKGBUILD
index 24f81dac5..ffe35ec54 100644
--- a/community/fcitx/PKGBUILD
+++ b/community/fcitx/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88243 2013-04-15 01:48:05Z fyan $
+# $Id: PKGBUILD 88842 2013-04-23 18:22:53Z fyan $
# Maintainer: Felix Yan
# Contributor: Andrea Scarpino
# Contributor: csslayer
@@ -6,7 +6,7 @@
pkgbase=fcitx
pkgname=('fcitx' 'fcitx-gtk2' 'fcitx-gtk3' 'fcitx-qt4')
pkgver=4.2.7
-pkgrel=6
+pkgrel=7
groups=('fcitx-im')
arch=('i686' 'x86_64')
url="http://code.google.com/p/fcitx/"
@@ -22,6 +22,8 @@ source=(http://fcitx.googlecode.com/files/${pkgbase}-${pkgver}_dict.tar.xz
build() {
#source /etc/profile.d/qt4.sh
+ export CFLAGS+=" -Wall"
+
cd "$srcdir/$pkgbase-$pkgver"
patch -Np1 -i "$srcdir/9937b68bad3a7e9465e17b711ce9c0a072d3071f.patch"
patch -Np1 -i "$srcdir/10ff96ca1215187444951cdbebe9e0beacacdf5e.patch"
@@ -54,9 +56,8 @@ package_fcitx() {
pkgdesc="Flexible Context-aware Input Tool with eXtension"
depends=('pango' 'libxinerama' 'gtk-update-icon-cache' 'shared-mime-info' \
'hicolor-icon-theme' 'desktop-file-utils' 'libxkbfile' \
- 'libxfixes' 'dbus-core' 'icu')
- optdepends=('enchant: for word predication support'
- 'opencc: optional engine to do chinese convert'
+ 'libxfixes' 'dbus-core' 'icu' 'enchant')
+ optdepends=('opencc: optional engine to do chinese convert'
'fcitx-anthy: Hiragana text to Kana Kanji mixed text Japanese input method'
'fcitx-chewing: Intelligent Zhuyin input method library for traditional Chinese'
'fcitx-cloudpinyin: Standalone module for fcitx that uses pinyin API on the internet to provide additional input candidates'
@@ -127,6 +128,6 @@ package_fcitx-qt4() {
}
md5sums=('6e291717c24615b9dc9bfaa2949af3a7'
- 'ce299aa5b596cc52dc9e66b47795e627'
+ '246e36c2232f107ed1692a52ebc43c39'
'6f420547bc8af9627db2e5290f758433'
- '51e53377e1b83661f2896e25d1a46242')
+ '51e53377e1b83661f2896e25d1a46242')
diff --git a/community/gnome-panel/PKGBUILD b/community/gnome-panel/PKGBUILD
index e490594e4..a287972a4 100644
--- a/community/gnome-panel/PKGBUILD
+++ b/community/gnome-panel/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 88684 2013-04-21 22:16:57Z heftig $
+# $Id: PKGBUILD 88822 2013-04-23 02:28:34Z bgyorgy $
# Maintainer: Balló György
# Contributor: Jan de Groot
pkgbase=gnome-panel
pkgname=('gnome-panel' 'gnome-flashback-session')
pkgver=3.6.2
-pkgrel=3
+pkgrel=4
arch=('i686' 'x86_64')
license=('GPL')
pkgdesc="Legacy GNOME panel"
@@ -19,14 +19,12 @@ source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver:0:3}/$pkgbase-$
gnome-desktop-3.8.patch
drop-gweather-xml-include.patch
18_fix_force_quit_applet.patch
- logout-hang-workaround.patch
0001-Add-the-GNOME-Flashback-session.patch
fix-autoconf.patch)
sha256sums=('a41c45c5512e796b8602ce50bf0d205993eab364c860aae31afa582d77b77079'
'3a67f4b07a7dd356fad6b40a43983f3945123ed40080eb153396a481b34efc0c'
'e3298c62bc577969817c5d6752be83a5129004fd344e4f7998a0d8aa61874305'
'9d742f675d9e09a032bfe00e0523a4ef7e234589a74a6086243bf335ce212775'
- 'e98391114fe618d3c9530cd5ad88e5d0d0e3b62890e4494f7db6a76ec3613a47'
'f313791d246749f18764ad4af13c4efe54483bc327fab371c47f9fbfc25b20a9'
'6828c097505d2dbbf465ed7ff694adbd646a0af2105c8dd864d1061bf0afea71')
@@ -42,9 +40,6 @@ build() {
# Fix force quit applet to avoid freeze
patch -Np1 -i "$srcdir/18_fix_force_quit_applet.patch"
- # Apply a workaround to avoid hang on logout for 15-20 sec
- patch -Np1 -i "$srcdir/logout-hang-workaround.patch"
-
# Add GNOME Flashback session
# https://bugzilla.gnome.org/show_bug.cgi?id=694625
patch -Np1 -i "$srcdir/0001-Add-the-GNOME-Flashback-session.patch"
diff --git a/community/gnome-panel/logout-hang-workaround.patch b/community/gnome-panel/logout-hang-workaround.patch
deleted file mode 100644
index 0b13e35b6..000000000
--- a/community/gnome-panel/logout-hang-workaround.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur gnome-panel-3.6.2.orig/gnome-panel/panel-session.c gnome-panel-3.6.2/gnome-panel/panel-session.c
---- gnome-panel-3.6.2.orig/gnome-panel/panel-session.c 2012-09-03 17:41:42.000000000 +0200
-+++ gnome-panel-3.6.2/gnome-panel/panel-session.c 2013-04-11 00:59:42.125864185 +0200
-@@ -69,11 +69,6 @@
-
- egg_sm_client_set_mode (mode);
-
-- client = egg_sm_client_get ();
--
-- g_signal_connect (client, "quit",
-- G_CALLBACK (panel_session_handle_quit), NULL);
--
- /* We don't want the WM to try and save/restore our
- * window position */
- gdk_x11_set_sm_client_id (NULL);
diff --git a/community/libmatio/PKGBUILD b/community/libmatio/PKGBUILD
index 7bc220d2c..da7660150 100644
--- a/community/libmatio/PKGBUILD
+++ b/community/libmatio/PKGBUILD
@@ -1,28 +1,33 @@
-# $Id: PKGBUILD 84665 2013-02-21 12:00:20Z arodseth $
+# $Id: PKGBUILD 88815 2013-04-23 01:03:57Z eric $
# Maintainer: Alexander Rødseth
# Contributor: Stefan Husmann
# Contributor: William Rea
pkgname=libmatio
-pkgver=1.5.0
-pkgrel=2
+pkgver=1.5.1
+pkgrel=1
pkgdesc='C library with a fortran 90/95 module interface for reading/writing MATLAB MAT-files'
arch=('x86_64' 'i686')
license=('LGPL')
url='http://sourceforge.net/projects/matio'
depends=('zlib')
options=('!libtool' '!emptydirs')
-source=("http://downloads.sourceforge.net/matio/matio-$pkgver.tar.gz")
-sha256sums=('550dfa642c4ca7ad5ce5a0249264436ced14c72c116aee9fd14e99c7bd8cc72e')
+source=("http://downloads.sourceforge.net/matio/matio-$pkgver.tar.bz2")
+sha1sums=('12b8ed59688b2f41903ddc3e7975f21f10fe42bb')
build() {
- cd "$srcdir/matio-$pkgver"
+ cd matio-$pkgver
./configure --prefix=/usr --enable-shared
make
}
+
+check() {
+ cd matio-$pkgver
+ make check
+}
package() {
- cd "$srcdir/matio-$pkgver"
+ cd matio-$pkgver
make DESTDIR="$pkgdir" install
}
diff --git a/community/metacity/PKGBUILD b/community/metacity/PKGBUILD
index 5955d5b88..1eef10aa0 100644
--- a/community/metacity/PKGBUILD
+++ b/community/metacity/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 88686 2013-04-21 22:17:01Z heftig $
+# $Id: PKGBUILD 88820 2013-04-23 01:21:30Z bgyorgy $
# Maintainer: Balló György
# Contributor: Jan de Groot
pkgname=metacity
pkgver=2.34.13
-pkgrel=4
+pkgrel=5
pkgdesc="Legacy GNOME window manager"
arch=('i686' 'x86_64')
license=('GPL')
@@ -17,12 +17,14 @@ source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$p
fix_compositing_startup.patch
fix_force_quit.patch
fix_shadows.patch
- enable_compositing.patch)
+ enable_compositing.patch
+ application-switcher.patch)
sha256sums=('8cf4dbf0da0a6f36357ce7db7f829ec685908a7792453c662fb8184572b91075'
'5094a0ffe3eb8289ed752829877c2e1b743eddf938ad3fc92fb4574b42765ae2'
'917760ac3375894ebb4052dfc7c8dff1ac556fb81033d7a7caf02123ceede50d'
'a0981477e9b3fd108fd03b7637bfd1f17a1f6cb13ec703d86b424b55076096f3'
- 'e53c1c20e19cd3d94d05d08045c7a9a373ce52051928ccc69bf3068081f30f9a')
+ 'e53c1c20e19cd3d94d05d08045c7a9a373ce52051928ccc69bf3068081f30f9a'
+ '177ded8203c3ff25f59a24445145cb54da9aba4216a0014c34979b7c12f3c099')
build() {
cd "$pkgname-$pkgver"
@@ -39,6 +41,9 @@ build() {
# Enable compositing by default (required for the desktop rendering feature of nautilus)
patch -Np1 -i "$srcdir/enable_compositing.patch"
+ # Rename switch-windows to switch-applications (required for GNOME 3.8 compatibility)
+ patch -Np1 -i "$srcdir/application-switcher.patch"
+
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$pkgname \
--disable-static --disable-schemas-compile
make
diff --git a/community/metacity/application-switcher.patch b/community/metacity/application-switcher.patch
new file mode 100644
index 000000000..2832d262c
--- /dev/null
+++ b/community/metacity/application-switcher.patch
@@ -0,0 +1,26 @@
+diff -Naur metacity-2.34.13.orig/src/50-metacity-navigation.xml.in metacity-2.34.13/src/50-metacity-navigation.xml.in
+--- metacity-2.34.13.orig/src/50-metacity-navigation.xml.in 2012-10-15 20:06:27.000000000 +0200
++++ metacity-2.34.13/src/50-metacity-navigation.xml.in 2013-04-23 02:35:18.000734619 +0200
+@@ -29,7 +29,7 @@
+
+
+-
+
+
# Contributor: Martin Panter
# Contributor: Stéphane Gaudreault
@@ -23,7 +23,8 @@ provides=('mplayer')
conflicts=('mplayer')
options=(!emptydirs)
source=(ftp://ftp.archlinux.org/other/community/$pkgname/$pkgname-$pkgver.tar.xz{,.sig})
-sha256sums=('03aeccbd82b3598e0656b54ae6ab60c79afdb78eabe1b2915e7912db7efbd343')
+sha256sums=('03aeccbd82b3598e0656b54ae6ab60c79afdb78eabe1b2915e7912db7efbd343'
+ 'SKIP')
build() {
cd $pkgname-$pkgver
diff --git a/community/puzzles/PKGBUILD b/community/puzzles/PKGBUILD
index 7d33b4d16..404bfa286 100644
--- a/community/puzzles/PKGBUILD
+++ b/community/puzzles/PKGBUILD
@@ -3,7 +3,7 @@
# Maintainer: schuay
pkgname=puzzles
-pkgver=9694
+pkgver=9835
pkgrel=1
pkgdesc="Simon Tatham's Portable Puzzle Collection"
arch=('i686' 'x86_64')
@@ -38,4 +38,4 @@ package() {
mv ${pkgdir}/usr/bin/blackbox ${pkgdir}/usr/bin/puzzles-blackbox
}
-md5sums=('f5e7b7b2a1bab3c939bb03e4ff8201c1')
+md5sums=('0db6e36f2ac04490f38ace15aabab555')
diff --git a/community/tinc/PKGBUILD b/community/tinc/PKGBUILD
index 227efcbec..d16e10cd1 100644
--- a/community/tinc/PKGBUILD
+++ b/community/tinc/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 85671 2013-03-04 16:46:31Z tredaelli $
+# $Id: PKGBUILD 88838 2013-04-23 16:26:01Z tredaelli $
# Maintainer: Timothy Redaelli
# Contributor: helios
# Contributor: Lothar Gesslein
# Contributor: Dominik George
pkgname=tinc
-pkgver=1.0.20
+pkgver=1.0.21
pkgrel=1
pkgdesc="VPN (Virtual Private Network) daemon"
arch=('i686' 'x86_64')
@@ -16,8 +16,8 @@ backup=(etc/conf.d/tincd.conf)
install=tinc.install
source=(http://www.tinc-vpn.org/packages/tinc-$pkgver.tar.gz{,.sig}
tincd.rc tincd.conf tincd@.service)
-md5sums=('001277e0ccd7ca29f7fa4039774ad611'
- '8ad9e8784712bdc1496223c6dbd99ab9'
+md5sums=('d7bc9ca38672c9da08d74ff2a3e8e36d'
+ 'SKIP'
'64bb53748d9051255f243003f0d511f5'
'7c0276d4812cc5d3cc18142562a3aa82'
'035b0e549b08da55d19a8df5b8306e4d')
diff --git a/extra/brltty/PKGBUILD b/extra/brltty/PKGBUILD
index c86f5b324..b374331bd 100644
--- a/extra/brltty/PKGBUILD
+++ b/extra/brltty/PKGBUILD
@@ -1,31 +1,32 @@
-# $Id: PKGBUILD 183336 2013-04-21 22:08:36Z heftig $
-# Maintainer:
+# $Id: PKGBUILD 183561 2013-04-23 13:10:19Z tomegun $
+# Maintainer: Tom Gundersen
# Contributor: Jan de Groot
# Contributor: Giovanni Scafora
pkgname=brltty
pkgver=4.5
-pkgrel=1
+pkgrel=3
pkgdesc="Braille display driver for Linux/Unix"
arch=(i686 x86_64)
url="http://mielke.cc/brltty"
license=(GPL LGPL)
-depends=(libxaw at-spi2-core gpm 'icu>=51.1' tcl atk cython)
-makedepends=(bluez)
-optdepends=('bluez: bluetooth support')
+depends=(libxaw gpm icu tcl cython)
+makedepends=(bluez at-spi2-core)
+optdepends=('bluez: bluetooth support'
+ 'at-spi2-core: X11/GNOME Apps accessibility'
+ 'atk: ATK bridge for X11/GNOME accessibility')
backup=(etc/brltty.conf)
options=('!emptydirs')
install=brltty.install
source=(http://mielke.cc/$pkgname/releases/$pkgname-$pkgver.tar.gz
brltty.service)
-md5sums=('7b52fa7746fed41ed344a1f75ce55951'
- '7acecd700b9f94d76fe4a6ad56cb0448')
+
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--mandir=/usr/share/man \
--with-tables-directory=/usr/share/brltty \
- --with-screen-driver=a2 \
+ --with-screen-driver=lx \
--enable-gpm \
--disable-java-bindings \
--disable-static
@@ -39,3 +40,5 @@ package() {
install -Dm644 Documents/brltty.conf "$pkgdir/etc/brltty.conf"
install -Dm644 ../brltty.service "$pkgdir/usr/lib/systemd/system/brltty.service"
}
+md5sums=('7b52fa7746fed41ed344a1f75ce55951'
+ '0cad54bb5470122535f5e3a11d5ca123')
diff --git a/extra/brltty/brltty.service b/extra/brltty/brltty.service
index 1b9d55e32..4ef39c3fc 100644
--- a/extra/brltty/brltty.service
+++ b/extra/brltty/brltty.service
@@ -9,4 +9,4 @@ Type=forking
PIDFile=/run/brltty.pid
[Install]
-WantedBy=multi-user.target
+WantedBy=sysinit.target
diff --git a/extra/dconf/PKGBUILD b/extra/dconf/PKGBUILD
index d7557337a..a12c0d2ec 100644
--- a/extra/dconf/PKGBUILD
+++ b/extra/dconf/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 183343 2013-04-21 22:08:45Z heftig $
+# $Id: PKGBUILD 183552 2013-04-23 04:49:12Z eric $
# Maintainer: Ionut Biru
pkgname=dconf
@@ -9,7 +9,7 @@ arch=(i686 x86_64)
url="http://live.gnome.org/dconf"
license=('LGPL2.1')
depends=('glib2' 'gtk-update-icon-cache')
-makedepends=('vala' 'gtk3' 'intltool' 'docbook-xsl' 'python')
+makedepends=('vala' 'gtk3' 'intltool' 'docbook-xsl' 'python' 'python2')
optdepends=('gtk3: for dconf-editor')
install=dconf.install
source=(http://download.gnome.org/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
diff --git a/extra/msmtp/PKGBUILD b/extra/msmtp/PKGBUILD
index 83e5fa89a..8b0964afa 100644
--- a/extra/msmtp/PKGBUILD
+++ b/extra/msmtp/PKGBUILD
@@ -1,19 +1,24 @@
-# $Id: PKGBUILD 169483 2012-10-22 00:13:27Z eric $
+# $Id: PKGBUILD 183544 2013-04-22 22:24:46Z eric $
# Maintainer: Eric Bélanger
pkgbase=msmtp
pkgname=('msmtp' 'msmtp-mta')
-pkgver=1.4.30
+pkgver=1.4.31
pkgrel=1
arch=('i686' 'x86_64')
license=('GPL3')
url="http://msmtp.sourceforge.net"
makedepends=('texlive-core' 'gsasl' 'libgnome-keyring')
source=(http://download.sourceforge.net/sourceforge/msmtp/${pkgbase}-${pkgver}.tar.bz2)
-sha1sums=('fd469bae0c3394b30b771780e62bbd41c4d5d175')
+sha1sums=('c0edce1e1951968853f15209c8509699ff9e9ab5')
+
+prepare() {
+ cd ${pkgbase}-${pkgver}
+ sed -i 's|/usr/bin/python|/usr/bin/python2|' scripts/msmtp-gnome-tool/msmtp-gnome-tool.py
+}
build() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd ${pkgbase}-${pkgver}
./configure --prefix=/usr --sysconfdir=/etc --with-ssl=gnutls
make
make -C doc html pdf
@@ -24,7 +29,7 @@ package_msmtp() {
depends=('gsasl' 'libgnome-keyring')
install=msmtp.install
- cd "${srcdir}/${pkgbase}-${pkgver}"
+ cd ${pkgbase}-${pkgver}
make DESTDIR="${pkgdir}" install
make DESTDIR="${pkgdir}" -C doc install-html install-pdf
diff --git a/extra/opengtl/PKGBUILD b/extra/opengtl/PKGBUILD
index 227a66368..67d61514a 100644
--- a/extra/opengtl/PKGBUILD
+++ b/extra/opengtl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 173974 2012-12-30 15:30:38Z foutrelis $
+# $Id: PKGBUILD 183549 2013-04-23 00:30:16Z eric $
# Maintainer:
# Contributor: Ronald van Haren
# Contributor: Andries Radu
pkgname=opengtl
-pkgver=0.9.17
-pkgrel=2
+pkgver=0.9.18
+pkgrel=1
pkgdesc="A set of libraries for using and integrating transformation algorithms (such as filter or color conversion) in graphics applications"
url="http://www.opengtl.org"
arch=('i686' 'x86_64')
@@ -13,18 +13,11 @@ license=('GPL')
depends=('gcc-libs' 'llvm')
makedepends=('cmake' 'libpng')
optdepends=('libpng: for using the png extension')
-source=(http://download.opengtl.org/OpenGTL-$pkgver.tar.bz2
- opengtl-0.9.17-fix-ftbfs-with-llvm-3.2.patch)
-sha256sums=('89a37394fe71f2e771d7230333c86b93706f0083f86a58a86a670bca7e4f905e'
- 'd3e12d964c927e6f659df00e6210815c803c9126b34e9e92d4ccfebd6d30c8d7')
+source=(http://download.opengtl.org/OpenGTL-$pkgver.tar.bz2)
+sha256sums=('f094b3d2a1a60519975bb3badc05e704f2b93c7a3d2cb753041f2ff27cfcd9f8')
build() {
cd "$srcdir"
-
- # Fix build with LLVM 3.2
- patch -d OpenGTL-$pkgver -Np1 -i \
- "$srcdir/opengtl-0.9.17-fix-ftbfs-with-llvm-3.2.patch"
-
mkdir build
cd build
cmake ../OpenGTL-$pkgver \
diff --git a/extra/opengtl/opengtl-0.9.17-fix-ftbfs-with-llvm-3.2.patch b/extra/opengtl/opengtl-0.9.17-fix-ftbfs-with-llvm-3.2.patch
deleted file mode 100644
index c148c88bb..000000000
--- a/extra/opengtl/opengtl-0.9.17-fix-ftbfs-with-llvm-3.2.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -upr OpenGTL-0.9.17.orig/CMakeLists.txt OpenGTL-0.9.17/CMakeLists.txt
---- OpenGTL-0.9.17.orig/CMakeLists.txt 2012-06-04 17:51:43.000000000 +0300
-+++ OpenGTL-0.9.17/CMakeLists.txt 2012-12-25 03:00:30.000000000 +0200
-@@ -47,8 +47,8 @@ configure_file(config-endian.h.cmake ${C
-
- find_package(LLVM REQUIRED)
-
--if( NOT MSVC AND NOT (LLVM_VERSION STREQUAL "3.1" OR LLVM_VERSION STREQUAL "3.0" ) ) # There is no way with MSVC to know the llvm version
-- message(FATAL_ERROR "LLVM 3.0 or 3.1 is required.")
-+if( NOT MSVC AND NOT LLVM_VERSION STREQUAL "3.2" ) # There is no way with MSVC to know the llvm version
-+ message(FATAL_ERROR "LLVM 3.2 is required.")
- endif()
-
- if(MSVC)
-diff -upr OpenGTL-0.9.17.orig/OpenCTL/OpenCTL/Program.cpp OpenGTL-0.9.17/OpenCTL/OpenCTL/Program.cpp
---- OpenGTL-0.9.17.orig/OpenCTL/OpenCTL/Program.cpp 2012-06-04 17:51:43.000000000 +0300
-+++ OpenGTL-0.9.17/OpenCTL/OpenCTL/Program.cpp 2012-12-25 02:59:17.000000000 +0200
-@@ -29,7 +29,7 @@
- #include
- #include
- #include
--#include
-+#include
- #include
-
- // GTLCore
-diff -upr OpenGTL-0.9.17.orig/OpenGTL/GTLCore/ModuleData_p.cpp OpenGTL-0.9.17/OpenGTL/GTLCore/ModuleData_p.cpp
---- OpenGTL-0.9.17.orig/OpenGTL/GTLCore/ModuleData_p.cpp 2012-06-04 17:51:43.000000000 +0300
-+++ OpenGTL-0.9.17/OpenGTL/GTLCore/ModuleData_p.cpp 2012-12-25 02:59:34.000000000 +0200
-@@ -23,7 +23,7 @@
-
- #include
- #include
--#include
-+#include
- #include
- #include
- #include
diff --git a/extra/pyqt/PKGBUILD b/extra/pyqt/PKGBUILD
index 2e2064da0..6ed0b16ad 100644
--- a/extra/pyqt/PKGBUILD
+++ b/extra/pyqt/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 179560 2013-03-07 08:19:05Z andrea $
+# $Id: PKGBUILD 183563 2013-04-23 13:10:46Z andrea $
# Maintainer: Andrea Scarpino
# Contributor: Douglas Soares de Andrade
# Contributor: riai Ben
pkgbase=pyqt
pkgname=('pyqt-common' 'pyqt' 'python2-pyqt')
-pkgver=4.10
+pkgver=4.10.1
pkgrel=1
arch=('i686' 'x86_64')
url="http://riverbankcomputing.co.uk/software/pyqt/intro"
@@ -13,7 +13,7 @@ license=('GPL')
makedepends=('python-sip' 'python-dbus' 'python2-sip' 'phonon' 'mesa'
'python2-opengl' 'qt-assistant-compat' 'qtwebkit' 'python2-dbus')
source=("http://downloads.sourceforge.net/${pkgbase}/PyQt-x11-gpl-${pkgver}.tar.gz")
-md5sums=('b5953e96d0f82d322d0cba008163321e')
+md5sums=('e5973c4ec0b0469f329bc00209d2ad9c')
build() {
cp -r PyQt-x11-gpl-${pkgver} Py2Qt-x11-gpl-${pkgver}
@@ -27,9 +27,6 @@ build() {
# Thanks Gerardo for the rpath fix
find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
- # Ugly workaround to fix build
- sed -i 's|/usr/include/qt4/phonon|/usr/include/phonon|' phonon/Makefile
-
make
### Python2 version ###
@@ -43,9 +40,6 @@ build() {
# Thanks Gerardo for the rpath fix
find -name 'Makefile' | xargs sed -i 's|-Wl,-rpath,/usr/lib||g;s|-Wl,-rpath,.* ||g'
- # Ugly workaround to fix build
- sed -i 's|/usr/include/qt4/phonon|/usr/include/phonon|' phonon/Makefile
-
make
}
diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD
index 441e658a9..e303d8d2b 100644
--- a/libre/blender-libre/PKGBUILD
+++ b/libre/blender-libre/PKGBUILD
@@ -1,4 +1,3 @@
-# $Id$
# Maintainer: Márcio Silva
_spacenav=false
@@ -14,7 +13,7 @@ fi
epoch=7
pkgver=2.66a
_pyver=3.3
-pkgrel=3
+pkgrel=4
pkgdesc="Fully integrated 3D graphics creation suite, without nonfree povray and cuda support$_spndesc"
arch=(
i686
@@ -22,21 +21,23 @@ arch=(
mips64el
)
license=GPL
-url="http://www.${_pkgname%-$_pkgflag}.org"
+url=http://www.${_pkgname%-$_pkgflag}.org
depends=(
desktop-file-utils
- ffmpeg
- fftw
- freetype2
+ 'ffmpeg=1:1.2'
+ fftw #3.3.3
+ freetype2 #2.4.11
hicolor-icon-theme
+ 'ilmbase=2.0.0'
jack
- libpng
- libtiff
- openal
- openimageio
- opencollada
- opencolorio
- openshadinglanguage
+ libpng #1.5.15
+ libtiff #4.0.3
+ openal #1.15.1
+ 'openexr=2.0.0'
+ openimageio #1.1.9
+ 'opencollada=20130305'
+ opencolorio #1.0.8
+ openshadinglanguage #1.3.0
shared-mime-info
xdg-utils
)
@@ -45,27 +46,29 @@ if [ $_spacenav == true ]; then
libspnav
)
fi
-optdepends='bullet: for Rigid Bodies and Physics Simulation'
+optdepends=(
+ 'bullet: for Rigid Bodies and Physics Simulation'
+ 'xcftools: for import GIMP images to scene (pcr repo)'
+)
makedepends=(
boost
cmake
mesa
subversion
)
-provides=(
- ${_pkgname%-$_pkgflag}=$epoch:$pkgver
-)
+provides=(${_pkgname%-$_pkgflag}=$epoch:$pkgver)
conflicts=${_pkgname%-$_pkgflag}
replaces=${_pkgname%-$_pkgflag}
install=$_pkgname.install
-source="http://download.${_pkgname%-$_pkgflag}.org/source/${_pkgname%-$_pkgflag}-$pkgver.tar.gz"
+source=http://download.${_pkgname%-$_pkgflag}.org/source/${_pkgname%-$_pkgflag}-$pkgver.tar.gz
sha512sums=ea5def031daa220991f6165950234b311e8ae3baa6785d6226efefa90b64e1b83e8635f71f9a7fc7ae23923ce313d5ae48ffa0c54cf7ff794a4fb2dacbe8714f
-build() {
- cd $srcdir/${_pkgname%-$_pkgflag}-$pkgver
+prepare() {
+ mkdir cd $srcdir/${_pkgname%-$_pkgflag}-$pkgver/build
+}
- mkdir build
- cd build
+build() {
+ cd $srcdir/${_pkgname%-$_pkgflag}-$pkgver/build
[[ $CARCH == i686 ]] && DSUPPORT_SSE2_BUILD='-DSUPPORT_SSE2_BUILD=OFF'
diff --git a/libre/opencollada/PKGBUILD b/libre/opencollada/PKGBUILD
new file mode 100644
index 000000000..2cf700e1f
--- /dev/null
+++ b/libre/opencollada/PKGBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Márcio Silva
+
+pkgname=opencollada
+pkgver=20130305
+pkgrel=1
+pkgdesc="Stream based reader and writer library for COLLADA files (built for the blender-libre package)"
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+url=https://github.com/KhronosGroup/OpenCOLLADA
+license=GPL
+depends=(
+ libxml2
+ pcre
+)
+makedepends=(
+ git
+ cmake
+)
+source=git://github.com/KhronosGroup/OpenCOLLADA.git
+sha512sums=SKIP
+
+prepare() {
+ cd $srcdir/OpenCOLLADA
+
+ # adapt source to last blender release
+ git reset --hard da9f1c3d5da28d475f35ff1175d60cb74fa0f661 # Tue Mar 5 11:30:27 2013 +0100
+
+ [[ -d build ]] && rm -r build
+ mkdir build
+}
+
+build() {
+ cd $srcdir/OpenCOLLADA/build
+
+ setarch $CARCH cmake .. -DCMAKE_INSTALL_PREFIX=/usr
+ setarch $CARCH make
+}
+
+package() {
+ cd $srcdir/OpenCOLLADA/build
+
+ setarch $CARCH make DESTDIR=$pkgdir install
+
+ install -d $pkgdir/etc/ld.so.conf.d
+ echo /usr/lib/$pkgname > $pkgdir/etc/ld.so.conf.d/$pkgname.conf
+}
+
+# vim:set ts=2 sw=2 et:
+
--
cgit v1.2.3-54-g00ecf
From 9c9a534c011e220f1fcdc4bd56c21d7d8cfc94a1 Mon Sep 17 00:00:00 2001
From: root
Date: Thu, 25 Apr 2013 01:16:48 -0700
Subject: Thu Apr 25 01:16:48 PDT 2013
---
community/cairo-dock-plugins/PKGBUILD | 4 +-
community/cairo-dock/PKGBUILD | 4 +-
community/darktable/PKGBUILD | 6 +-
community/dia/PKGBUILD | 10 +-
community/fcitx/PKGBUILD | 16 +-
community/gmic/PKGBUILD | 8 +-
community/gnome-settings-daemon-compat/PKGBUILD | 26 +-
.../flashback-rename.patch | 15 +-
.../revert-input-sources.patch | 123 +++++
.../standalone-background-helper.patch | 4 +-
.../standalone-media-keys-helper.patch | 564 +++++++++++++++++++++
.../gnome-settings-daemon-compat/xinput.patch | 36 ++
community/haskell-dlist/PKGBUILD | 8 +-
community/haskell-pcre-light/PKGBUILD | 2 +-
community/mongodb/PKGBUILD | 6 +-
community/muffin/PKGBUILD | 16 +-
community/muffin/switch-applications.patch | 20 +
community/nemo/PKGBUILD | 9 +-
community/nemo/remove-desktop-background.patch | 102 +++-
community/nginx/PKGBUILD | 6 +-
community/nodejs/PKGBUILD | 14 +-
community/opencollada/PKGBUILD | 39 --
community/opencollada/opencollada.conf | 1 -
community/pokerth/PKGBUILD | 20 +-
community/pokerth/pokerth_game.pro.patch | 18 -
extra/atkmm/PKGBUILD | 6 +-
extra/clamav/PKGBUILD | 12 +-
extra/gparted/PKGBUILD | 8 +-
extra/libsoup/PKGBUILD | 6 +-
extra/pangomm/PKGBUILD | 8 +-
libre/blender-addon-luxrender/PKGBUILD | 35 ++
libre/cgminer-libre/PKGBUILD | 4 +-
libre/luxblend25/PKGBUILD | 35 --
libre/luxrender-libre/PKGBUILD | 8 +-
.../boost-1.53-shared_array_constructor.diff | 62 +++
pcr/python-sfml2/PKGBUILD | 32 +-
pcr/python2-sfml2/PKGBUILD | 34 +-
pcr/ryzom-client/PKGBUILD | 63 ---
pcr/ryzom-hg/PKGBUILD | 116 +++++
pcr/ryzom-hg/ryzom.desktop | 11 +
pcr/ryzom-hg/ryzom.sh | 9 +
pcr/ryzom-nel/PKGBUILD | 68 ---
pcr/xcftools/xcftools.patch | 27 +
pcr/yafaray-git/PKGBUILD | 115 ++---
44 files changed, 1310 insertions(+), 426 deletions(-)
create mode 100644 community/gnome-settings-daemon-compat/revert-input-sources.patch
create mode 100644 community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
create mode 100644 community/gnome-settings-daemon-compat/xinput.patch
create mode 100644 community/muffin/switch-applications.patch
delete mode 100644 community/opencollada/PKGBUILD
delete mode 100644 community/opencollada/opencollada.conf
delete mode 100644 community/pokerth/pokerth_game.pro.patch
create mode 100644 libre/blender-addon-luxrender/PKGBUILD
delete mode 100644 libre/luxblend25/PKGBUILD
create mode 100644 libre/luxrender-libre/boost-1.53-shared_array_constructor.diff
delete mode 100644 pcr/ryzom-client/PKGBUILD
create mode 100644 pcr/ryzom-hg/PKGBUILD
create mode 100644 pcr/ryzom-hg/ryzom.desktop
create mode 100644 pcr/ryzom-hg/ryzom.sh
delete mode 100644 pcr/ryzom-nel/PKGBUILD
create mode 100644 pcr/xcftools/xcftools.patch
(limited to 'community')
diff --git a/community/cairo-dock-plugins/PKGBUILD b/community/cairo-dock-plugins/PKGBUILD
index c2bba4804..cad086944 100755
--- a/community/cairo-dock-plugins/PKGBUILD
+++ b/community/cairo-dock-plugins/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88459 2013-04-18 09:05:42Z alucryd $
+# $Id: PKGBUILD 88927 2013-04-24 21:31:30Z alucryd $
# Maintainer: Maxime Gauduin
# Contributor: Tofe
# Contributor: zhuqin
@@ -7,7 +7,7 @@
pkgname=cairo-dock-plugins
pkgver=3.2.1
-pkgrel=1
+pkgrel=2
pkgdesc="Plugins for Cairo-Dock"
url="https://launchpad.net/cairo-dock"
license=('GPL')
diff --git a/community/cairo-dock/PKGBUILD b/community/cairo-dock/PKGBUILD
index 3820dd2fc..8f910fe66 100755
--- a/community/cairo-dock/PKGBUILD
+++ b/community/cairo-dock/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 88485 2013-04-18 13:57:25Z alucryd $
+# $Id: PKGBUILD 88925 2013-04-24 21:20:34Z alucryd $
# Maintainer: Maxime Gauduin
# Contributor: Tofe
# Contributor: erm67
pkgname=cairo-dock
pkgver=3.2.1
-pkgrel=2
+pkgrel=3
pkgdesc="Light eye-candy fully themable animated dock"
arch=('i686' 'x86_64')
url="https://launchpad.net/cairo-dock-core"
diff --git a/community/darktable/PKGBUILD b/community/darktable/PKGBUILD
index 6acd4b76f..7edf61f33 100644
--- a/community/darktable/PKGBUILD
+++ b/community/darktable/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88609 2013-04-20 16:45:02Z heftig $
+# $Id: PKGBUILD 88866 2013-04-24 14:09:28Z spupykin $
# Maintainer: Sergej Pupykin
# Maintainer: Christian Himpel
# Contributor: Johannes Hanika
@@ -6,14 +6,14 @@
pkgname=darktable
pkgver=1.2
_pkgver=1.2
-pkgrel=2
+pkgrel=3
pkgdesc="Utility to organize and develop raw images"
arch=('i686' 'x86_64')
url=http://darktable.sf.net/
license=('GPL3')
depends=('exiv2>=0.18' 'intltool>=0.40' 'lcms2' 'lensfun>=0.2.3' 'libglade' 'dbus-glib'
'curl' 'libgnome-keyring' 'libgphoto2' 'libusb-compat' 'openexr' 'sqlite' 'libxslt'
- 'libsoup')
+ 'libsoup' 'gtk-engines')
makedepends=('intltool>=0.40' 'cmake' 'librsvg')
optdepends=('librsvg')
install=darktable.install
diff --git a/community/dia/PKGBUILD b/community/dia/PKGBUILD
index 106c0ec9b..47d9a2810 100644
--- a/community/dia/PKGBUILD
+++ b/community/dia/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 69446 2012-04-16 11:44:58Z spupykin $
+# $Id: PKGBUILD 88862 2013-04-24 13:59:45Z spupykin $
# Maintainer: Thorsten Töpper
# Maintainer: Sergej Pupykin
# Contributor: Juergen Hoetzel
@@ -6,7 +6,7 @@
pkgname=dia
pkgver=0.97.2
-pkgrel=3
+pkgrel=4
pkgdesc="A GTK+ based diagram creation program"
arch=('i686' 'x86_64')
license=('GPL')
@@ -17,9 +17,9 @@ makedepends=('intltool' 'python2' 'docbook-xsl')
optdepends=('python2')
options=('!libtool' 'docs' '!emptydirs')
source=("ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.97/${pkgname}-${pkgver}.tar.xz"
- "dia-overflow-fix.patch")
+ "dia-crash.patch::https://git.gnome.org/browse/dia/patch/?id=213bdfe956bf8fe57c86316f68a09408fef1647e")
md5sums=('1e1180a513fb567709b09bc19f12105e'
- '8fd9a2ad35b5a6fd8c758d7c73dbfe66')
+ '2ad4fcfbfb561930a1d0335cc942a07b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -29,7 +29,7 @@ build() {
sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' "$file"
done
sed -i 's#python2\.1#python2 python2.1#' configure
-# patch -p1 <$srcdir/dia-overflow-fix.patch
+ patch -p1 <$srcdir/dia-crash.patch
./configure --prefix=/usr \
--with-cairo \
diff --git a/community/fcitx/PKGBUILD b/community/fcitx/PKGBUILD
index ffe35ec54..3dca22164 100644
--- a/community/fcitx/PKGBUILD
+++ b/community/fcitx/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88842 2013-04-23 18:22:53Z fyan $
+# $Id: PKGBUILD 88848 2013-04-24 06:26:30Z fyan $
# Maintainer: Felix Yan
# Contributor: Andrea Scarpino
# Contributor: csslayer
@@ -6,7 +6,7 @@
pkgbase=fcitx
pkgname=('fcitx' 'fcitx-gtk2' 'fcitx-gtk3' 'fcitx-qt4')
pkgver=4.2.7
-pkgrel=7
+pkgrel=8
groups=('fcitx-im')
arch=('i686' 'x86_64')
url="http://code.google.com/p/fcitx/"
@@ -17,17 +17,17 @@ source=(http://fcitx.googlecode.com/files/${pkgbase}-${pkgver}_dict.tar.xz
https://github.com/fcitx/fcitx/commit/9937b68bad3a7e9465e17b711ce9c0a072d3071f.patch
https://github.com/fcitx/fcitx/commit/10ff96ca1215187444951cdbebe9e0beacacdf5e.patch
https://github.com/fcitx/fcitx/commit/dc36c1a88f863971f81a76b8d9ec0db23b0d9387.patch
+ https://github.com/fcitx/fcitx/commit/a9e6570046f9c1477dd6ec6e30e91e020e62d698.patch
)
build() {
#source /etc/profile.d/qt4.sh
- export CFLAGS+=" -Wall"
-
cd "$srcdir/$pkgbase-$pkgver"
patch -Np1 -i "$srcdir/9937b68bad3a7e9465e17b711ce9c0a072d3071f.patch"
patch -Np1 -i "$srcdir/10ff96ca1215187444951cdbebe9e0beacacdf5e.patch"
git apply -v -p1 "$srcdir/dc36c1a88f863971f81a76b8d9ec0db23b0d9387.patch"
+ patch -Np1 -i "$srcdir/a9e6570046f9c1477dd6ec6e30e91e020e62d698.patch"
cd "$srcdir"
mkdir -p build
@@ -56,8 +56,9 @@ package_fcitx() {
pkgdesc="Flexible Context-aware Input Tool with eXtension"
depends=('pango' 'libxinerama' 'gtk-update-icon-cache' 'shared-mime-info' \
'hicolor-icon-theme' 'desktop-file-utils' 'libxkbfile' \
- 'libxfixes' 'dbus-core' 'icu' 'enchant')
- optdepends=('opencc: optional engine to do chinese convert'
+ 'libxfixes' 'dbus-core' 'icu')
+ optdepends=('enchant: for word predication support'
+ 'opencc: optional engine to do chinese convert'
'fcitx-anthy: Hiragana text to Kana Kanji mixed text Japanese input method'
'fcitx-chewing: Intelligent Zhuyin input method library for traditional Chinese'
'fcitx-cloudpinyin: Standalone module for fcitx that uses pinyin API on the internet to provide additional input candidates'
@@ -130,4 +131,5 @@ package_fcitx-qt4() {
md5sums=('6e291717c24615b9dc9bfaa2949af3a7'
'246e36c2232f107ed1692a52ebc43c39'
'6f420547bc8af9627db2e5290f758433'
- '51e53377e1b83661f2896e25d1a46242')
+ '51e53377e1b83661f2896e25d1a46242'
+ '5e9f90817722a138b459b2bf6a926f96')
diff --git a/community/gmic/PKGBUILD b/community/gmic/PKGBUILD
index ba20f9ea9..19fd40f9b 100644
--- a/community/gmic/PKGBUILD
+++ b/community/gmic/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88611 2013-04-20 16:45:04Z heftig $
+# $Id: PKGBUILD 88860 2013-04-24 13:40:06Z spupykin $
# Maintainer: Sergej Pupykin
# Maintainer: Jan "heftig" Steffens
# Contributor: farid
@@ -6,8 +6,8 @@
pkgbase=gmic
pkgname=("gmic" "gimp-plugin-gmic" "zart")
-pkgver=1.5.5.1
-pkgrel=2
+pkgver=1.5.5.2
+pkgrel=1
arch=("i686" "x86_64")
url="http://gmic.sourceforge.net"
license=("custom:CeCILL")
@@ -25,6 +25,8 @@ prepare() {
find "${srcdir}/gmic-${pkgver}/zart" -type d -execdir chmod 755 '{}' \;
sed -i 's|qmake zart.pro|qmake-qt4 zart.pro|' src/Makefile
}
+md5sums=('7d3a8e5cf9e866dd8979dc7c759a21a6'
+ '120319b0d6c81c5af186abe2281b79ca')
build() {
cd "${srcdir}/gmic-${pkgver}"
diff --git a/community/gnome-settings-daemon-compat/PKGBUILD b/community/gnome-settings-daemon-compat/PKGBUILD
index 314d38cd1..108f1ab5a 100644
--- a/community/gnome-settings-daemon-compat/PKGBUILD
+++ b/community/gnome-settings-daemon-compat/PKGBUILD
@@ -1,35 +1,42 @@
-# $Id: PKGBUILD 88700 2013-04-21 22:24:08Z heftig $
+# $Id: PKGBUILD 88858 2013-04-24 12:55:15Z bgyorgy $
# Maintainer: Balló György
# Contributor: Jan Alexander Steffens (heftig)
pkgname=gnome-settings-daemon-compat
_pkgname=gnome-settings-daemon
pkgver=3.6.4
-pkgrel=1
+pkgrel=2
pkgdesc="Compatibility package that provides background and mount helpers for the Gnome Flashback session"
arch=('i686' 'x86_64')
license=('GPL')
-depends=('gnome-desktop')
+depends=('gnome-settings-daemon')
makedepends=('docbook-xsl' 'ibus' 'intltool' 'libcanberra' 'libnotify' 'libpulse' 'libwacom' 'nss' 'upower' 'xf86-input-wacom')
url="https://live.gnome.org/GnomeFlashback"
source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz
standalone-background-helper.patch
+ standalone-media-keys-helper.patch
draw-background-unconditionally.patch
sessionisactive-port.patch
+ revert-input-sources.patch
+ xinput.patch
flashback-rename.patch
remove-libgsd-dependency.patch)
sha256sums=('3db993f2dbabc0c9d06a309bb12c9a7104b9cdda414ac4b1c301f5114a441c15'
- '4c2206b9654bd2b2729297870696c87906e2386b492bae1052b94148e5ea370f'
+ 'f9781a17d7baa2777b16fa2c71fb6053612131cffcfffcc635d49f9dacb1e637'
+ '4776de33b1517976b308a9ce23661cd0ac68ddd2bcf41465c73f8a2e2d09d20c'
'1b6b8216434b766e1389e876cba5d6ab61498c5824f6d2cc5d67dcf58a07842a'
'0821f469cd168f3a131da513a5f9dd352c06f9bc31d57d79de4dc063fa2de915'
- '57c66068f06599ea682325e9f5b92b751d8f0a4322b53371698f8539f709b101'
+ '02da2467e287620c3b717c7ff5ffea7403cce714d5aa32e27d051b6571451e2a'
+ 'fe8cafee074e36a7a393c9ae7f65db1c13a0959213aaae94ab8a3543bf20a25d'
+ '1edabf1a5a56d4b797ccdb7d5003bad396eebe98541d5aa330c9851340b68dfe'
'730f11d5689892fbab9aa2896f3720e813d17e2455f34fd3a0751e49f5b4c26c')
build() {
cd $_pkgname-$pkgver
- # Build background helper as a stand alone binary
+ # Build background and media keys helpers as a stand alone binary
patch -Np1 -i ../standalone-background-helper.patch
+ patch -Np1 -i ../standalone-media-keys-helper.patch
# Always draw background
patch -Np1 -i ../draw-background-unconditionally.patch
@@ -37,6 +44,10 @@ build() {
# Port to gnome-session's SessionIsActive property
patch -Np1 -i ../sessionisactive-port.patch
+ # Add compatibility patches for media keys plugin
+ patch -Np1 -i ../revert-input-sources.patch
+ patch -Np1 -i ../xinput.patch
+
# Remove libgsd dependency
patch -Np1 -i ../remove-libgsd-dependency.patch
@@ -50,12 +61,15 @@ build() {
# https://bugzilla.gnome.org/show_bug.cgi?id=656231
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make -C plugins/common
make -C plugins/automount
make -C plugins/background
+ make -C plugins/media-keys
}
package() {
cd $_pkgname-$pkgver
make -C plugins/automount DESTDIR="$pkgdir" install
make -C plugins/background DESTDIR="$pkgdir" install
+ make -C plugins/media-keys DESTDIR="$pkgdir" install
}
diff --git a/community/gnome-settings-daemon-compat/flashback-rename.patch b/community/gnome-settings-daemon-compat/flashback-rename.patch
index 2aaa9ce22..8f3816bef 100644
--- a/community/gnome-settings-daemon-compat/flashback-rename.patch
+++ b/community/gnome-settings-daemon-compat/flashback-rename.patch
@@ -1,6 +1,6 @@
diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in
--- gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-01-10 14:37:58.000000000 +0100
-+++ gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-04-10 16:58:35.356800871 +0200
++++ gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-04-24 14:34:43.743878119 +0200
@@ -9,4 +9,4 @@
NoDisplay=true
OnlyShowIn=GNOME;Unity;
@@ -8,8 +8,17 @@ diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mou
-AutostartCondition=GNOME3 if-session gnome-fallback
+AutostartCondition=GNOME3 if-session gnome-flashback
diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in
---- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-10 15:57:02.136341000 +0200
-+++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-10 16:58:57.593982808 +0200
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 14:32:47.290988000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 14:34:43.743878119 +0200
+@@ -9,4 +9,4 @@
+ NoDisplay=true
+ OnlyShowIn=GNOME;Unity;
+ X-GNOME-Autostart-Notify=true
+-AutostartCondition=GNOME3 if-session gnome-fallback
++AutostartCondition=GNOME3 if-session gnome-flashback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 14:32:52.807791000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 14:35:16.714696636 +0200
@@ -9,4 +9,4 @@
NoDisplay=true
OnlyShowIn=GNOME;Unity;
diff --git a/community/gnome-settings-daemon-compat/revert-input-sources.patch b/community/gnome-settings-daemon-compat/revert-input-sources.patch
new file mode 100644
index 000000000..dc769de4e
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/revert-input-sources.patch
@@ -0,0 +1,123 @@
+From cc45fec342713745f391533a202976e97670f9e5 Mon Sep 17 00:00:00 2001
+From: Rui Matos
+Date: Wed, 12 Dec 2012 09:31:40 +0000
+Subject: Revert "media-keys: Add key bindings to switch input sources"
+
+These are now provided by gnome-shell.
+
+This reverts commit fc58c347900f906e304591135ca6c13d9950ab4d.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=690106
+---
+diff --git a/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in b/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
+index b56b5d1..25e5f3e 100644
+--- a/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
++++ b/data/org.gnome.settings-daemon.plugins.media-keys.gschema.xml.in.in
+@@ -175,16 +175,6 @@
+ <_summary>Magnifier zoom out
+ <_description>Binding for the magnifier to zoom out
+
+-
+- ''
+- <_summary>Switch input source
+- <_description>Binding to select the next input source
+-
+-
+- ''
+- <_summary>Switch input source backward
+- <_description>Binding to select the previous input source
+-
+
+
+
+diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
+index e5977d0..cd6fbc2 100644
+--- a/plugins/media-keys/gsd-media-keys-manager.c
++++ b/plugins/media-keys/gsd-media-keys-manager.c
+@@ -98,10 +98,6 @@ static const gchar introspection_xml[] =
+ #define VOLUME_STEP 6 /* percents for one volume button press */
+ #define MAX_VOLUME 65536.0
+
+-#define GNOME_DESKTOP_INPUT_SOURCES_DIR "org.gnome.desktop.input-sources"
+-#define KEY_CURRENT_INPUT_SOURCE "current"
+-#define KEY_INPUT_SOURCES "sources"
+-
+ #define GSD_MEDIA_KEYS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_MEDIA_KEYS_MANAGER, GsdMediaKeysManagerPrivate))
+
+ typedef struct {
+@@ -1807,40 +1803,6 @@ do_keyboard_brightness_action (GsdMediaKeysManager *manager,
+ }
+
+ static void
+-do_switch_input_source_action (GsdMediaKeysManager *manager,
+- MediaKeyType type)
+-{
+- GSettings *settings;
+- GVariant *sources;
+- gint i, n;
+-
+- settings = g_settings_new (GNOME_DESKTOP_INPUT_SOURCES_DIR);
+- sources = g_settings_get_value (settings, KEY_INPUT_SOURCES);
+-
+- n = g_variant_n_children (sources);
+- if (n < 2)
+- goto out;
+-
+- i = g_settings_get_uint (settings, KEY_CURRENT_INPUT_SOURCE);
+-
+- if (type == SWITCH_INPUT_SOURCE_KEY)
+- i += 1;
+- else
+- i -= 1;
+-
+- if (i < 0)
+- i = n - 1;
+- else if (i >= n)
+- i = 0;
+-
+- g_settings_set_uint (settings, KEY_CURRENT_INPUT_SOURCE, i);
+-
+- out:
+- g_variant_unref (sources);
+- g_object_unref (settings);
+-}
+-
+-static void
+ do_custom_action (GsdMediaKeysManager *manager,
+ MediaKey *key,
+ gint64 timestamp)
+@@ -1999,10 +1961,6 @@ do_action (GsdMediaKeysManager *manager,
+ case BATTERY_KEY:
+ do_execute_desktop (manager, "gnome-power-statistics.desktop", timestamp);
+ break;
+- case SWITCH_INPUT_SOURCE_KEY:
+- case SWITCH_INPUT_SOURCE_BACKWARD_KEY:
+- do_switch_input_source_action (manager, type);
+- break;
+ /* Note, no default so compiler catches missing keys */
+ case CUSTOM_KEY:
+ g_assert_not_reached ();
+diff --git a/plugins/media-keys/shortcuts-list.h b/plugins/media-keys/shortcuts-list.h
+index a16d0e7..437ed2c 100644
+--- a/plugins/media-keys/shortcuts-list.h
++++ b/plugins/media-keys/shortcuts-list.h
+@@ -80,8 +80,6 @@ typedef enum {
+ KEYBOARD_BRIGHTNESS_DOWN_KEY,
+ KEYBOARD_BRIGHTNESS_TOGGLE_KEY,
+ BATTERY_KEY,
+- SWITCH_INPUT_SOURCE_KEY,
+- SWITCH_INPUT_SOURCE_BACKWARD_KEY,
+ CUSTOM_KEY
+ } MediaKeyType;
+
+@@ -148,8 +146,6 @@ static struct {
+ { KEYBOARD_BRIGHTNESS_UP_KEY, NULL, "XF86KbdBrightnessUp" },
+ { KEYBOARD_BRIGHTNESS_DOWN_KEY, NULL, "XF86KbdBrightnessDown" },
+ { KEYBOARD_BRIGHTNESS_TOGGLE_KEY, NULL, "XF86KbdLightOnOff" },
+- { SWITCH_INPUT_SOURCE_KEY, "switch-input-source", NULL },
+- { SWITCH_INPUT_SOURCE_BACKWARD_KEY, "switch-input-source-backward", NULL },
+ { BATTERY_KEY, NULL, "XF86Battery" },
+ };
+
+--
+cgit v0.9.1
diff --git a/community/gnome-settings-daemon-compat/standalone-background-helper.patch b/community/gnome-settings-daemon-compat/standalone-background-helper.patch
index ccbd18f9b..884f3031e 100644
--- a/community/gnome-settings-daemon-compat/standalone-background-helper.patch
+++ b/community/gnome-settings-daemon-compat/standalone-background-helper.patch
@@ -417,7 +417,7 @@ diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.in gnome-settings-daemon
[type: gettext/glade]plugins/a11y-keyboard/gsd-a11y-preferences-dialog.ui
[type: gettext/ini]plugins/a11y-settings/a11y-settings.gnome-settings-plugin.in
plugins/automount/gnome-fallback-mount-helper.desktop.in.in
-+plugins/automount/gnome-fallback-background-helper.desktop.in.in
++plugins/background/gnome-fallback-background-helper.desktop.in.in
plugins/automount/gsd-automount-manager.c
plugins/automount/gsd-autorun.c
-[type: gettext/ini]plugins/background/background.gnome-settings-plugin.in
@@ -431,7 +431,7 @@ diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip gnome-settings-daem
data/org.gnome.settings-daemon.plugins.updates.gschema.xml.in
data/org.gnome.settings-daemon.plugins.xrandr.gschema.xml.in
data/org.gnome.settings-daemon.plugins.xsettings.gschema.xml.in
-+plugins/automount/gnome-fallback-background-helper.desktop.in
++plugins/background/gnome-fallback-background-helper.desktop.in
plugins/automount/gnome-fallback-mount-helper.desktop.in
plugins/power/org.gnome.settings-daemon.plugins.power.policy.in
plugins/wacom/org.gnome.settings-daemon.plugins.wacom.policy.in
diff --git a/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch b/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
new file mode 100644
index 000000000..dec5ff3e8
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
@@ -0,0 +1,564 @@
+diff -Naur gnome-settings-daemon-3.6.4.orig/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in gnome-settings-daemon-3.6.4/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in
+--- gnome-settings-daemon-3.6.4.orig/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in 2013-04-24 03:11:02.893859531 +0200
++++ gnome-settings-daemon-3.6.4/data/org.gnome.settings-daemon.plugins.gschema.xml.in.in 2013-04-24 13:43:11.128884064 +0200
+@@ -9,7 +9,6 @@
+
+
+
+-
+
+
+
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.c gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.c 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.c 2013-04-24 13:43:11.132217470 +0200
+@@ -0,0 +1,65 @@
++/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
++ *
++ * Copyright (C) 2010 Red Hat, Inc.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * Author: Tomas Bzatek
++ */
++
++#include "config.h"
++
++#include
++#include
++#include
++#include
++
++#include "gsd-media-keys-manager.h"
++
++int
++main (int argc,
++ char **argv)
++{
++ GMainLoop *loop;
++ GsdMediaKeysManager *manager;
++ GError *error = NULL;
++
++ g_type_init ();
++ gtk_init (&argc, &argv);
++
++ bindtextdomain (GETTEXT_PACKAGE, GNOME_SETTINGS_LOCALEDIR);
++ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
++ textdomain (GETTEXT_PACKAGE);
++
++ loop = g_main_loop_new (NULL, FALSE);
++ manager = gsd_media_keys_manager_new ();
++
++ gsd_media_keys_manager_start (manager, &error);
++
++ if (error != NULL) {
++ g_printerr ("Unable to start the media-keys manager: %s",
++ error->message);
++
++ g_error_free (error);
++ _exit (1);
++ }
++
++ g_main_loop_run (loop);
++
++ gsd_media_keys_manager_stop (manager);
++ g_main_loop_unref (loop);
++
++ return 0;
++}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 1970-01-01 01:00:00.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 13:43:11.132217470 +0200
+@@ -0,0 +1,12 @@
++[Desktop Entry]
++_Name=Media keys
++_Comment=Handle media keys
++Exec=@LIBEXECDIR@/gnome-fallback-media-keys-helper
++Icon=drive-optical
++Terminal=false
++Type=Application
++Categories=
++NoDisplay=true
++OnlyShowIn=GNOME;Unity;
++X-GNOME-Autostart-Notify=true
++AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-manager.c gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-manager.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-manager.c 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-manager.c 2013-04-24 13:43:11.132217470 +0200
+@@ -44,7 +44,6 @@
+ #include
+ #endif
+
+-#include "gnome-settings-profile.h"
+ #include "gsd-marshal.h"
+ #include "gsd-media-keys-manager.h"
+
+@@ -622,8 +621,6 @@
+ char **custom_paths;
+ int i;
+
+- gnome_settings_profile_start (NULL);
+-
+ gdk_error_trap_push ();
+
+ manager->priv->keys = g_ptr_array_new_with_free_func ((GDestroyNotify) media_key_free);
+@@ -661,8 +658,6 @@
+ gdk_flush ();
+ if (gdk_error_trap_pop ())
+ g_warning ("Grab failed for some keys, another application may already have access the them.");
+-
+- gnome_settings_profile_end (NULL);
+ }
+
+ static void
+@@ -2090,7 +2085,6 @@
+ char *theme_name;
+
+ g_debug ("Starting media_keys manager");
+- gnome_settings_profile_start (NULL);
+
+ manager->priv->settings = g_settings_new (SETTINGS_BINDING_DIR);
+ g_signal_connect (G_OBJECT (manager->priv->settings), "changed",
+@@ -2137,19 +2131,14 @@
+
+ /* Start filtering the events */
+ for (l = manager->priv->screens; l != NULL; l = l->next) {
+- gnome_settings_profile_start ("gdk_window_add_filter");
+-
+ g_debug ("adding key filter for screen: %d",
+ gdk_screen_get_number (l->data));
+
+ gdk_window_add_filter (gdk_screen_get_root_window (l->data),
+ (GdkFilterFunc) filter_key_events,
+ manager);
+- gnome_settings_profile_end ("gdk_window_add_filter");
+ }
+
+- gnome_settings_profile_end (NULL);
+-
+ manager->priv->start_idle_id = 0;
+
+ return FALSE;
+@@ -2161,8 +2150,6 @@
+ {
+ const char * const subsystems[] = { "input", "usb", "sound", NULL };
+
+- gnome_settings_profile_start (NULL);
+-
+ if (supports_xinput2_devices (&manager->priv->opcode) == FALSE) {
+ g_debug ("No Xinput2 support, disabling plugin");
+ return TRUE;
+@@ -2179,8 +2166,6 @@
+ * The rest (grabbing and setting the keys) can happen in an
+ * idle.
+ */
+- gnome_settings_profile_start ("gvc_mixer_control_new");
+-
+ manager->priv->volume = gvc_mixer_control_new ("GNOME Volume Control Media Keys");
+
+ g_signal_connect (manager->priv->volume,
+@@ -2198,14 +2183,10 @@
+
+ gvc_mixer_control_open (manager->priv->volume);
+
+- gnome_settings_profile_end ("gvc_mixer_control_new");
+-
+ manager->priv->start_idle_id = g_idle_add ((GSourceFunc) start_media_keys_idle_cb, manager);
+
+ register_manager (manager_object);
+
+- gnome_settings_profile_end (NULL);
+-
+ return TRUE;
+ }
+
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.c gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.c 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,104 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- *
+- */
+-
+-#include "config.h"
+-
+-#include
+-#include
+-
+-#include "gnome-settings-plugin.h"
+-#include "gsd-media-keys-plugin.h"
+-#include "gsd-media-keys-manager.h"
+-
+-struct GsdMediaKeysPluginPrivate {
+- GsdMediaKeysManager *manager;
+-};
+-
+-#define GSD_MEDIA_KEYS_PLUGIN_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPluginPrivate))
+-
+-GNOME_SETTINGS_PLUGIN_REGISTER (GsdMediaKeysPlugin, gsd_media_keys_plugin)
+-
+-static void
+-gsd_media_keys_plugin_init (GsdMediaKeysPlugin *plugin)
+-{
+- plugin->priv = GSD_MEDIA_KEYS_PLUGIN_GET_PRIVATE (plugin);
+-
+- g_debug ("GsdMediaKeysPlugin initializing");
+-
+- plugin->priv->manager = gsd_media_keys_manager_new ();
+-}
+-
+-static void
+-gsd_media_keys_plugin_finalize (GObject *object)
+-{
+- GsdMediaKeysPlugin *plugin;
+-
+- g_return_if_fail (object != NULL);
+- g_return_if_fail (GSD_IS_MEDIA_KEYS_PLUGIN (object));
+-
+- g_debug ("GsdMediaKeysPlugin finalizing");
+-
+- plugin = GSD_MEDIA_KEYS_PLUGIN (object);
+-
+- g_return_if_fail (plugin->priv != NULL);
+-
+- if (plugin->priv->manager != NULL) {
+- g_object_unref (plugin->priv->manager);
+- }
+-
+- G_OBJECT_CLASS (gsd_media_keys_plugin_parent_class)->finalize (object);
+-}
+-
+-static void
+-impl_activate (GnomeSettingsPlugin *plugin)
+-{
+- gboolean res;
+- GError *error;
+-
+- g_debug ("Activating media_keys plugin");
+-
+- error = NULL;
+- res = gsd_media_keys_manager_start (GSD_MEDIA_KEYS_PLUGIN (plugin)->priv->manager, &error);
+- if (! res) {
+- g_warning ("Unable to start media_keys manager: %s", error->message);
+- g_error_free (error);
+- }
+-}
+-
+-static void
+-impl_deactivate (GnomeSettingsPlugin *plugin)
+-{
+- g_debug ("Deactivating media_keys plugin");
+- gsd_media_keys_manager_stop (GSD_MEDIA_KEYS_PLUGIN (plugin)->priv->manager);
+-}
+-
+-static void
+-gsd_media_keys_plugin_class_init (GsdMediaKeysPluginClass *klass)
+-{
+- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+- GnomeSettingsPluginClass *plugin_class = GNOME_SETTINGS_PLUGIN_CLASS (klass);
+-
+- object_class->finalize = gsd_media_keys_plugin_finalize;
+-
+- plugin_class->activate = impl_activate;
+- plugin_class->deactivate = impl_deactivate;
+-
+- g_type_class_add_private (klass, sizeof (GsdMediaKeysPluginPrivate));
+-}
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.h gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.h
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gsd-media-keys-plugin.h 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gsd-media-keys-plugin.h 1970-01-01 01:00:00.000000000 +0100
+@@ -1,59 +0,0 @@
+-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+- *
+- * Copyright (C) 2007 William Jon McCann
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License as published by
+- * the Free Software Foundation; either version 2, or (at your option)
+- * any later version.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program; if not, write to the Free Software
+- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- *
+- */
+-
+-#ifndef __GSD_MEDIA_KEYS_PLUGIN_H__
+-#define __GSD_MEDIA_KEYS_PLUGIN_H__
+-
+-#include
+-#include
+-#include
+-
+-#include "gnome-settings-plugin.h"
+-
+-G_BEGIN_DECLS
+-
+-#define GSD_TYPE_MEDIA_KEYS_PLUGIN (gsd_media_keys_plugin_get_type ())
+-#define GSD_MEDIA_KEYS_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPlugin))
+-#define GSD_MEDIA_KEYS_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPluginClass))
+-#define GSD_IS_MEDIA_KEYS_PLUGIN(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSD_TYPE_MEDIA_KEYS_PLUGIN))
+-#define GSD_IS_MEDIA_KEYS_PLUGIN_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSD_TYPE_MEDIA_KEYS_PLUGIN))
+-#define GSD_MEDIA_KEYS_PLUGIN_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSD_TYPE_MEDIA_KEYS_PLUGIN, GsdMediaKeysPluginClass))
+-
+-typedef struct GsdMediaKeysPluginPrivate GsdMediaKeysPluginPrivate;
+-
+-typedef struct
+-{
+- GnomeSettingsPlugin parent;
+- GsdMediaKeysPluginPrivate *priv;
+-} GsdMediaKeysPlugin;
+-
+-typedef struct
+-{
+- GnomeSettingsPluginClass parent_class;
+-} GsdMediaKeysPluginClass;
+-
+-GType gsd_media_keys_plugin_get_type (void) G_GNUC_CONST;
+-
+-/* All the plugins must implement this function */
+-G_MODULE_EXPORT GType register_gnome_settings_plugin (GTypeModule *module);
+-
+-G_END_DECLS
+-
+-#endif /* __GSD_MEDIA_KEYS_PLUGIN_H__ */
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am 2013-01-10 14:37:58.000000000 +0100
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am 2013-04-24 14:26:01.414463895 +0200
+@@ -1,17 +1,11 @@
+ icondir = $(datadir)/icons/hicolor
+ context = actions
+
+-plugin_name = media-keys
+-
+-NULL =
+-
+ SUBDIRS = cut-n-paste
+-plugin_LTLIBRARIES = libmedia-keys.la
+
+ BUILT_SOURCES = \
+ gsd-marshal.h \
+- gsd-marshal.c \
+- $(NULL)
++ gsd-marshal.c
+
+ gsd-marshal.c: gsd-marshal.list
+ $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=gsd_marshal $< --header --body --internal > $@
+@@ -19,62 +13,16 @@
+ gsd-marshal.h: gsd-marshal.list
+ $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=gsd_marshal $< --header --internal > $@
+
+-libmedia_keys_la_SOURCES = \
+- gsd-media-keys-plugin.h \
+- gsd-media-keys-plugin.c \
+- gsd-media-keys-manager.h \
+- gsd-media-keys-manager.c \
+- gsd-osd-window.c \
+- gsd-osd-window.h \
+- gsd-osd-window-private.h \
+- shortcuts-list.h \
+- $(BUILT_SOURCES) \
+- $(NULL)
+-
+-libmedia_keys_la_CPPFLAGS = \
+- -I$(top_srcdir)/data/ \
+- -I$(top_srcdir)/gnome-settings-daemon \
+- -I$(top_srcdir)/plugins/common \
+- -I$(top_srcdir)/plugins/media-keys/cut-n-paste \
+- -DBINDIR=\"$(bindir)\" \
+- -DPIXMAPDIR=\""$(pkgdatadir)"\" \
+- -DGTKBUILDERDIR=\""$(pkgdatadir)"\" \
+- -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+- $(AM_CPPFLAGS)
+-
+-libmedia_keys_la_CFLAGS = \
+- $(PLUGIN_CFLAGS) \
+- $(SETTINGS_PLUGIN_CFLAGS) \
+- $(MEDIA_KEYS_CFLAGS) \
+- $(AM_CFLAGS)
+-
+-libmedia_keys_la_LDFLAGS = \
+- $(GSD_PLUGIN_LDFLAGS)
+-
+-libmedia_keys_la_LIBADD = \
+- $(top_builddir)/plugins/common/libcommon.la \
+- $(top_builddir)/plugins/media-keys/cut-n-paste/libgvc.la \
+- $(MEDIA_KEYS_LIBS) \
+- $(SETTINGS_PLUGIN_LIBS) \
+- -lm
+-
+-plugin_in_files = \
+- media-keys.gnome-settings-plugin.in
+-
+-plugin_DATA = $(plugin_in_files:.gnome-settings-plugin.in=.gnome-settings-plugin)
+-
+ noinst_PROGRAMS = test-media-window
+
+ test_media_window_SOURCES = \
+ gsd-osd-window.c \
+ gsd-osd-window.h \
+ gsd-osd-window-private.h \
+- test-media-window.c \
+- $(NULL)
++ test-media-window.c
+
+ test_media_window_CPPFLAGS = \
+ -I$(top_srcdir)/data/ \
+- -I$(top_srcdir)/gnome-settings-daemon \
+ -I$(top_srcdir)/plugins/common \
+ -I$(top_srcdir)/plugins/media-keys/cut-n-paste \
+ -DDATADIR=\""$(datadir)"\" \
+@@ -93,21 +41,19 @@
+ $(SETTINGS_PLUGIN_LIBS) \
+ -lm
+
+-libexec_PROGRAMS = gsd-test-media-keys
++libexec_PROGRAMS = gnome-fallback-media-keys-helper
+
+-gsd_test_media_keys_SOURCES = \
++gnome_fallback_media_keys_helper_SOURCES = \
+ gsd-media-keys-manager.c \
+ gsd-media-keys-manager.h \
+ gsd-osd-window.c \
+ gsd-osd-window.h \
+ gsd-osd-window-private.h \
+- test-media-keys.c \
+- $(BUILT_SOURCES) \
+- $(NULL)
++ gnome-fallback-media-keys-helper.c \
++ $(BUILT_SOURCES)
+
+-gsd_test_media_keys_CPPFLAGS = \
++gnome_fallback_media_keys_helper_CPPFLAGS = \
+ -I$(top_srcdir)/data/ \
+- -I$(top_srcdir)/gnome-settings-daemon \
+ -I$(top_srcdir)/plugins/common \
+ -I$(top_srcdir)/plugins/media-keys/cut-n-paste \
+ -DBINDIR=\"$(bindir)\" \
+@@ -116,14 +62,12 @@
+ -DGNOME_SETTINGS_LOCALEDIR=\""$(datadir)/locale"\" \
+ $(AM_CPPFLAGS)
+
+-gsd_test_media_keys_CFLAGS = \
++gnome_fallback_media_keys_helper_CFLAGS = \
+ $(PLUGIN_CFLAGS) \
+ $(SETTINGS_PLUGIN_CFLAGS) \
+- $(MEDIA_KEYS_CFLAGS) \
+- $(AM_CFLAGS)
++ $(MEDIA_KEYS_CFLAGS)
+
+-gsd_test_media_keys_LDADD = \
+- $(top_builddir)/gnome-settings-daemon/libgsd.la \
++gnome_fallback_media_keys_helper_LDADD = \
+ $(top_builddir)/plugins/common/libcommon.la \
+ $(top_builddir)/plugins/media-keys/cut-n-paste/libgvc.la \
+ $(SETTINGS_DAEMON_LIBS) \
+@@ -131,17 +75,24 @@
+ $(MEDIA_KEYS_LIBS) \
+ -lm
+
++autostartdir = $(sysconfdir)/xdg/autostart
++autostart_in_files = gnome-fallback-media-keys-helper.desktop.in
++autostart_in_in_files = gnome-fallback-media-keys-helper.desktop.in.in
++autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
++
++$(autostart_in_files): $(autostart_in_in_files)
++ @sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" $< > $@
++
++@INTLTOOL_DESKTOP_RULE@
++
+ EXTRA_DIST = \
+ gsd-marshal.list \
+ README.media-keys-API \
+ test-media-window-clutter.c \
+- $(plugin_in_files)
++ $(autostart_in_in_files)
+
+ CLEANFILES = \
+ $(BUILT_SOURCES) \
+- $(plugin_DATA)
+-
+-DISTCLEANFILES = \
+- $(plugin_DATA)
++ $(autostart_DATA) \
++ $(autostart_in_files)
+
+-@GSD_INTLTOOL_PLUGIN_RULE@
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/media-keys.gnome-settings-plugin.in gnome-settings-daemon-3.6.4/plugins/media-keys/media-keys.gnome-settings-plugin.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/media-keys.gnome-settings-plugin.in 2012-04-07 15:21:20.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/media-keys.gnome-settings-plugin.in 1970-01-01 01:00:00.000000000 +0100
+@@ -1,8 +0,0 @@
+-[GNOME Settings Plugin]
+-Module=media-keys
+-IAge=0
+-_Name=Media keys
+-_Description=Media keys plugin
+-Authors=
+-Copyright=Copyright © 2007
+-Website=
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/test-media-keys.c gnome-settings-daemon-3.6.4/plugins/media-keys/test-media-keys.c
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/test-media-keys.c 2012-06-01 22:02:53.000000000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/test-media-keys.c 1970-01-01 01:00:00.000000000 +0100
+@@ -1,7 +0,0 @@
+-#define NEW gsd_media_keys_manager_new
+-#define START gsd_media_keys_manager_start
+-#define STOP gsd_media_keys_manager_stop
+-#define MANAGER GsdMediaKeysManager
+-#include "gsd-media-keys-manager.h"
+-
+-#include "test-plugin.h"
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.in gnome-settings-daemon-3.6.4/po/POTFILES.in
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.in 2013-04-24 03:11:02.897192946 +0200
++++ gnome-settings-daemon-3.6.4/po/POTFILES.in 2013-04-24 13:43:11.132217470 +0200
+@@ -34,7 +34,7 @@
+ [type: gettext/ini]plugins/keyboard/keyboard.gnome-settings-plugin.in
+ plugins/media-keys/cut-n-paste/gvc-mixer-control.c
+ plugins/media-keys/gsd-media-keys-manager.c
+-[type: gettext/ini]plugins/media-keys/media-keys.gnome-settings-plugin.in
++plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
+ plugins/mouse/gsd-mouse-manager.c
+ [type: gettext/ini]plugins/mouse/mouse.gnome-settings-plugin.in
+ plugins/power/gpm-common.c
+diff -Naur gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip gnome-settings-daemon-3.6.4/po/POTFILES.skip
+--- gnome-settings-daemon-3.6.4.orig/po/POTFILES.skip 2013-04-24 03:11:02.897192946 +0200
++++ gnome-settings-daemon-3.6.4/po/POTFILES.skip 2013-04-24 13:43:11.132217470 +0200
+@@ -22,5 +22,6 @@
+ data/org.gnome.settings-daemon.plugins.xsettings.gschema.xml.in
+ plugins/background/gnome-fallback-background-helper.desktop.in
+ plugins/automount/gnome-fallback-mount-helper.desktop.in
++plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in
+ plugins/power/org.gnome.settings-daemon.plugins.power.policy.in
+ plugins/wacom/org.gnome.settings-daemon.plugins.wacom.policy.in
diff --git a/community/gnome-settings-daemon-compat/xinput.patch b/community/gnome-settings-daemon-compat/xinput.patch
new file mode 100644
index 000000000..67c8082cb
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/xinput.patch
@@ -0,0 +1,36 @@
+From 14f92b1479aa065edf3f0aa86b87d4c4ff1fe2ba Mon Sep 17 00:00:00 2001
+From: Matthias Clasen
+Date: Thu, 07 Feb 2013 04:14:22 +0000
+Subject: Fix media-keys handling with GTK+ 3.7.8
+
+GDK now requests XI 2.3 and if the X server supports that
+version, subsequent requests for a lower version yield
+a BadValue. Therefore, we need to change the code in
+gsd-input-helper.c to request 2.3 as well.
+---
+diff --git a/plugins/common/gsd-input-helper.c b/plugins/common/gsd-input-helper.c
+index 54427af..d5d2a2a 100644
+--- a/plugins/common/gsd-input-helper.c
++++ b/plugins/common/gsd-input-helper.c
+@@ -144,18 +144,11 @@ supports_xinput2_devices (int *opcode)
+ gdk_error_trap_push ();
+
+ major = 2;
+- minor = 0;
++ minor = 3;
+
+ if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
+ gdk_error_trap_pop_ignored ();
+- /* try for 2.2, maybe gtk has already announced 2.2 support */
+- gdk_error_trap_push ();
+- major = 2;
+- minor = 2;
+- if (XIQueryVersion (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &major, &minor) != Success) {
+- gdk_error_trap_pop_ignored ();
+ return FALSE;
+- }
+ }
+ gdk_error_trap_pop_ignored ();
+
+--
+cgit v0.9.1
diff --git a/community/haskell-dlist/PKGBUILD b/community/haskell-dlist/PKGBUILD
index 925c91c72..90c9573d3 100644
--- a/community/haskell-dlist/PKGBUILD
+++ b/community/haskell-dlist/PKGBUILD
@@ -1,3 +1,5 @@
+# $Id: PKGBUILD 88875 2013-04-24 14:23:10Z jelle $
+# Maintainer: Daniel Wallace
# Contributor: Don Stewart
# Contributor: Lex Black
@@ -5,13 +7,13 @@ pkgname=haskell-dlist
pkgver=0.5
_hkgname=dlist
_licensefile=LICENSE
-pkgrel=1
+pkgrel=23
pkgdesc="Differences lists"
url="http://code.haskell.org/~dons/code/dlist/"
license=("BSD3")
arch=('i686' 'x86_64')
-makedepends=('ghc')
-depends=('ghc')
+makedepends=('ghc=7.6.2')
+depends=('ghc=7.6.2')
options=('strip')
source=("http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz")
sha256sums=('4780e5409eff55bbfdd7470ef802a087a04048c9cd5efe0482c82878292f19ea')
diff --git a/community/haskell-pcre-light/PKGBUILD b/community/haskell-pcre-light/PKGBUILD
index 7dcd58e6d..56ccb9c8c 100644
--- a/community/haskell-pcre-light/PKGBUILD
+++ b/community/haskell-pcre-light/PKGBUILD
@@ -3,7 +3,7 @@
_hkgname=pcre-light
pkgname=haskell-pcre-light
pkgver=0.4
-pkgrel=19
+pkgrel=20
pkgdesc="A small, efficient and portable regex library for Perl 5 compatible regular expressions"
url="http://code.haskell.org/~dons/code/pcre-light"
license=(custom:BSD3)
diff --git a/community/mongodb/PKGBUILD b/community/mongodb/PKGBUILD
index ddd110ef1..6db2976d1 100644
--- a/community/mongodb/PKGBUILD
+++ b/community/mongodb/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88479 2013-04-18 12:55:25Z fyan $
+# $Id: PKGBUILD 88850 2013-04-24 10:16:56Z fyan $
# Maintainer: Felix Yan
# Contributor: Sven-Hendrik Haase
# Contributor: Thomas Dziedzic < gostrc at gmail >
@@ -6,7 +6,7 @@
# Contributor: Alec Thomas
pkgname=mongodb
-pkgver=2.4.2
+pkgver=2.4.3
pkgrel=1
pkgdesc='A high-performance, open source, schema-free document-oriented database'
arch=('i686' 'x86_64')
@@ -64,7 +64,7 @@ package() {
mv ${pkgdir}/usr/lib64/libmongoclient.a ${pkgdir}/usr/lib/ || true
rm -r ${pkgdir}/usr/lib64 || true
}
-md5sums=('8c65fa1d678763dbc855b0129d1eea96'
+md5sums=('ff6a9c90bdaca66a7e997ba8490fc222'
'4839fe1d638187ca3226e8267b947318'
'96ab4517b48974ce0e566d9746a75a4f'
'a9529e2a6e392ffecef7a9178394c814'
diff --git a/community/muffin/PKGBUILD b/community/muffin/PKGBUILD
index 8732424f9..6c2e8d005 100644
--- a/community/muffin/PKGBUILD
+++ b/community/muffin/PKGBUILD
@@ -1,25 +1,31 @@
-# $Id: PKGBUILD 88697 2013-04-21 22:24:03Z heftig $
+# $Id: PKGBUILD 88909 2013-04-24 17:12:07Z bgyorgy $
+# Maintainer: Alexandre Filgueira
# Contributor: Adam Hani Schakaki
# Contributor: Ner0
pkgname=muffin
pkgver=1.7.3
-pkgrel=1
+pkgrel=2
pkgdesc="Cinnamon window manager based on Mutter"
arch=('i686' 'x86_64')
url="https://github.com/linuxmint/muffin"
license=('GPL')
-depends=('libsm' 'clutter' 'gobject-introspection' 'gsettings-desktop-schemas' \
+depends=('clutter' 'gobject-introspection' 'gsettings-desktop-schemas' \
'libcanberra' 'startup-notification' 'zenity' 'dconf')
makedepends=('intltool' 'gnome-doc-utils' 'gnome-common')
options=('!libtool' '!emptydirs')
install=$pkgname.install
-source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/muffin/tarball/$pkgver")
-md5sums=('30e329da6af10e825dace490f13e445f')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/muffin/tarball/$pkgver"
+ "switch-applications.patch")
+md5sums=('30e329da6af10e825dace490f13e445f'
+ 'a5d5d76dc281277a8afc83d7affdcc7b')
build() {
cd linuxmint-muffin-*
+ # Fix windows switcher keybinding with default settings in GNOME 3.8
+ patch -Np1 -i ../switch-applications.patch
+
PYTHON=python2 ./autogen.sh --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib/muffin \
--localstatedir=/var --disable-static --disable-schemas-compile
make
diff --git a/community/muffin/switch-applications.patch b/community/muffin/switch-applications.patch
new file mode 100644
index 000000000..61b727b57
--- /dev/null
+++ b/community/muffin/switch-applications.patch
@@ -0,0 +1,20 @@
+diff -Naur linuxmint-muffin-1ad6bd4.orig/src/core/keybindings.c linuxmint-muffin-1ad6bd4/src/core/keybindings.c
+--- linuxmint-muffin-1ad6bd4.orig/src/core/keybindings.c 2013-04-15 15:53:35.000000000 +0200
++++ linuxmint-muffin-1ad6bd4/src/core/keybindings.c 2013-04-24 18:37:54.028549911 +0200
+@@ -3774,14 +3774,14 @@
+ handle_switch, META_TAB_LIST_GROUP);
+
+ add_builtin_keybinding (display,
+- "switch-windows",
++ "switch-applications",
+ SCHEMA_COMMON_KEYBINDINGS,
+ META_KEY_BINDING_REVERSES,
+ META_KEYBINDING_ACTION_SWITCH_WINDOWS,
+ handle_switch, META_TAB_LIST_NORMAL);
+
+ add_builtin_keybinding (display,
+- "switch-windows-backward",
++ "switch-applications-backward",
+ SCHEMA_COMMON_KEYBINDINGS,
+ REVERSES_AND_REVERSED,
+ META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD,
diff --git a/community/nemo/PKGBUILD b/community/nemo/PKGBUILD
index f2b15964c..00ab3bc7f 100644
--- a/community/nemo/PKGBUILD
+++ b/community/nemo/PKGBUILD
@@ -1,17 +1,16 @@
-# $Id: PKGBUILD 88773 2013-04-22 09:44:29Z faidoc $
+# $Id: PKGBUILD 88912 2013-04-24 17:42:52Z bgyorgy $
# Maintainer: Alexandre Filgueira
# Contributor: Ner0
pkgname=nemo
pkgver=1.7.3
-pkgrel=2
+pkgrel=3
pkgdesc="Cinnamon file manager (Nautilus fork)"
arch=('i686' 'x86_64')
url="https://github.com/linuxmint/nemo"
license=('GPL')
depends=('libexif' 'gvfs' 'dconf' 'desktop-file-utils' 'exempi' 'python2'
- 'gnome-desktop' 'gnome-icon-theme' 'libnotify' 'libtracker-sparql'
- 'cinnamon')
+ 'gnome-desktop' 'gnome-icon-theme' 'libnotify' 'libtracker-sparql')
makedepends=('gtk-doc' 'gobject-introspection' 'intltool' 'gnome-common')
optdepends=('gksu: Open as Root')
options=('!emptydirs' '!libtool')
@@ -21,7 +20,7 @@ source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/nemo/tarball/$pkg
"remove-desktop-background.patch")
md5sums=('04c021da543e2562b712107c2be9a8c2'
'9e170cc74eee901634b3367b06a209c6'
- '700b595dfcf06e39f9dc3bdb7c81e086')
+ 'f10af52377e44e1efe8ec4934aa4d4d2')
build() {
cd linuxmint-nemo-*
diff --git a/community/nemo/remove-desktop-background.patch b/community/nemo/remove-desktop-background.patch
index 793d5650c..0301cc820 100644
--- a/community/nemo/remove-desktop-background.patch
+++ b/community/nemo/remove-desktop-background.patch
@@ -1,7 +1,7 @@
From 5f82ebba474f6c1068a21f51ded2b0e26869ecaf Mon Sep 17 00:00:00 2001
From: Michael Webster
Date: Mon, 15 Apr 2013 18:44:35 -0400
-Subject: [PATCH 1/4] Don't render the background. Need to fix selected icon
+Subject: [PATCH 1/6] Don't render the background. Need to fix selected icon
style
---
@@ -100,13 +100,13 @@ index 9c80c62..2d5c4e8 100644
GTK_WIDGET_CLASS (nemo_desktop_window_parent_class)->realize (widget);
--
-1.8.1.5
+1.8.1.6
From 6b013acb8f0ad855d042d0e8d51350c539a37c21 Mon Sep 17 00:00:00 2001
From: Michael Webster
Date: Mon, 15 Apr 2013 20:03:03 -0400
-Subject: [PATCH 2/4] Remove nemo-desktop-background, the desktop window makes
+Subject: [PATCH 2/6] Remove nemo-desktop-background, the desktop window makes
a transparent background and just uses the existing rendered background from
muffin/g-s-d
@@ -867,13 +867,13 @@ index 37cd8cb..5dec8b5 100644
}
--
-1.8.1.5
+1.8.1.6
From b40990397b6fff55878481a806a1b5574e43951f Mon Sep 17 00:00:00 2001
From: Michael Webster
Date: Mon, 15 Apr 2013 20:14:40 -0400
-Subject: [PATCH 3/4] Forgot an include
+Subject: [PATCH 3/6] Forgot an include
---
libnemo-private/nemo-icon-dnd.c | 1 -
@@ -892,13 +892,13 @@ index 017c6a7..2ed073c 100644
#include
#include
--
-1.8.1.5
+1.8.1.6
From 020d4dc15fa9c0e1303cef7795e45e688ede7726 Mon Sep 17 00:00:00 2001
From: Michael Webster
Date: Tue, 16 Apr 2013 18:00:01 -0400
-Subject: [PATCH 4/4] Change to use cinnamon background keys
+Subject: [PATCH 4/6] Change to use cinnamon background keys
---
libnemo-private/nemo-global-preferences.c | 2 +-
@@ -960,5 +960,91 @@ index ab03b44..3ece32a 100644
g_free (uri);
}
--
-1.8.1.5
+1.8.1.6
+
+
+From f487954ebce3f564744e9c83b5dd40fa8f8fad6d Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Mon, 22 Apr 2013 08:33:41 -0400
+Subject: [PATCH 5/6] Fall back to org.gnome.desktop.background schema when
+ cinnamon is not installed
+
+---
+ libnemo-private/nemo-global-preferences.c | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c
+index 336afc3..7eb04ef 100644
+--- a/libnemo-private/nemo-global-preferences.c
++++ b/libnemo-private/nemo-global-preferences.c
+@@ -76,7 +76,25 @@
+ nemo_desktop_preferences = g_settings_new("org.nemo.desktop");
+ nemo_tree_sidebar_preferences = g_settings_new("org.nemo.sidebar-panels.tree");
+ gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown");
+- cinnamon_background_preferences = g_settings_new("org.cinnamon.background");
+ gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
+ gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal");
++
++ const gchar * const *schema_list = g_settings_list_schemas ();
++ int i = 0;
++ gboolean has_cinnamon = FALSE;
++ if (schema_list != NULL) {
++ while (schema_list[i] != NULL) {
++ if (g_strcmp0 (schema_list[i], "org.cinnamon.background") == 0) {
++ has_cinnamon = TRUE;
++ break;
++ }
++ i++;
++ }
++ }
++
++ if (has_cinnamon) {
++ cinnamon_background_preferences = g_settings_new ("org.cinnamon.background");
++ } else {
++ cinnamon_background_preferences = g_settings_new ("org.gnome.desktop.background");
++ }
+ }
+--
+1.8.1.6
+
+
+From 9739a1b30603868ea6b8b12cf7aeb167be5aea22 Mon Sep 17 00:00:00 2001
+From: Michael Webster
+Date: Mon, 22 Apr 2013 09:31:49 -0400
+Subject: [PATCH 6/6] simplify schema check
+
+---
+ libnemo-private/nemo-global-preferences.c | 17 +++--------------
+ 1 file changed, 3 insertions(+), 14 deletions(-)
+
+diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c
+index 7eb04ef..0470595 100644
+--- a/libnemo-private/nemo-global-preferences.c
++++ b/libnemo-private/nemo-global-preferences.c
+@@ -79,20 +79,9 @@
+ gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling");
+ gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal");
+
+- const gchar * const *schema_list = g_settings_list_schemas ();
+- int i = 0;
+- gboolean has_cinnamon = FALSE;
+- if (schema_list != NULL) {
+- while (schema_list[i] != NULL) {
+- if (g_strcmp0 (schema_list[i], "org.cinnamon.background") == 0) {
+- has_cinnamon = TRUE;
+- break;
+- }
+- i++;
+- }
+- }
+-
+- if (has_cinnamon) {
++ GSettingsSchemaSource *schema_source;
++ schema_source = g_settings_schema_source_get_default();
++ if (g_settings_schema_source_lookup (schema_source, "org.cinnamon.background", FALSE)) {
+ cinnamon_background_preferences = g_settings_new ("org.cinnamon.background");
+ } else {
+ cinnamon_background_preferences = g_settings_new ("org.gnome.desktop.background");
+--
+1.8.1.6
diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD
index 48c00e91c..fca931cac 100644
--- a/community/nginx/PKGBUILD
+++ b/community/nginx/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 87542 2013-04-02 19:17:59Z bpiotrowski $
+# $Id: PKGBUILD 88886 2013-04-24 15:32:13Z bpiotrowski $
# Maintainer: Sergej Pupykin
# Maintainer: Bartłomiej Piotrowski
# Contributor: Miroslaw Szot
@@ -7,7 +7,7 @@ _cfgdir=/etc/nginx
_tmpdir=/var/lib/nginx
pkgname=nginx
-pkgver=1.2.8
+pkgver=1.4.0
pkgrel=1
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
arch=('i686' 'x86_64')
@@ -29,7 +29,7 @@ backup=(${_cfgdir:1}/fastcgi.conf
source=(http://nginx.org/download/nginx-$pkgver.tar.gz
service
logrotate)
-sha256sums=('d2947c98c5bed311b1e6c04e35a730af92e40e2e6bfe9201fa7f404987457137'
+sha256sums=('84aeb7a131fccff036dc80283dd98c989d2844eb84359cfe7c4863475de923a9'
'77da8ce4d8378048606a25e09270ee187d6b226ee750b6cb4313af5549f5156a'
'9523a1fdd5eb61bf62f3049f6ee088b198e36d5edcce2d9b08bbeb2930aa5a16')
diff --git a/community/nodejs/PKGBUILD b/community/nodejs/PKGBUILD
index 571fc58a8..738d4a395 100644
--- a/community/nodejs/PKGBUILD
+++ b/community/nodejs/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88176 2013-04-13 10:02:06Z bpiotrowski $
+# $Id: PKGBUILD 88884 2013-04-24 15:09:27Z bpiotrowski $
# Maintainer: Bartłomiej Piotrowski
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: James Campos
@@ -8,7 +8,7 @@
# Contributor: TIanyi Cui
pkgname=nodejs
-pkgver=0.10.4
+pkgver=0.10.5
pkgrel=1
pkgdesc='Evented I/O for V8 javascript'
arch=('i686' 'x86_64')
@@ -18,7 +18,7 @@ depends=('openssl' 'python2')
checkdepends=('curl')
options=('!emptydirs')
source=(http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz)
-sha256sums=('1c960d2822447a9e4f7c46b832ff05e86743033c6643d644975af1cbf6a44fb8')
+sha256sums=('1c22bd15cb13b1109610ee256699300ec6999b335f3bc85dc3c0312ec9312cfd')
build() {
cd node-v${pkgver}
@@ -47,15 +47,15 @@ check() {
package() {
cd node-v${pkgver}
- make DESTDIR=$pkgdir install
+ make DESTDIR="$pkgdir" install
# install docs as per user request
- install -d $pkgdir/usr/share/doc/nodejs
+ install -d "$pkgdir"/usr/share/doc/nodejs
cp -r doc/api/*.html \
- $pkgdir/usr/share/doc/nodejs
+ "$pkgdir"/usr/share/doc/nodejs
install -D -m644 LICENSE \
- $pkgdir/usr/share/licenses/nodejs/LICENSE
+ "$pkgdir"/usr/share/licenses/nodejs/LICENSE
}
# vim:set ts=2 sw=2 et:
diff --git a/community/opencollada/PKGBUILD b/community/opencollada/PKGBUILD
deleted file mode 100644
index a11e7afc8..000000000
--- a/community/opencollada/PKGBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# $Id: PKGBUILD 87935 2013-04-08 20:59:14Z svenstaro $
-# Maintainer: Sven-Hendrik Haase
-pkgname=opencollada
-pkgver=20130408
-pkgrel=1
-pkgdesc="Stream based reader and writer library for COLLADA files"
-arch=(i686 x86_64)
-url="https://github.com/KhronosGroup/OpenCOLLADA"
-license=('GPL')
-depends=('libxml2' 'pcre')
-makedepends=('git' 'cmake')
-source=('opencollada.conf'
- 'git://github.com/KhronosGroup/OpenCOLLADA.git')
-md5sums=('5f7e9d79ab86756648b648ee5ed6ce1d'
- 'SKIP')
-
-build() {
- cd "$srcdir"/OpenCOLLADA
-
- [[ -d build ]] && rm -r build
- mkdir build && cd build
-
-# Activate these once pr#124 is merged
-# -DUSE_SHARED=ON \
-# -DUSE_STATIC=OFF \
- cmake .. \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd "$srcdir"/OpenCOLLADA/build
-
- make DESTDIR=$pkgdir install
-
- install -Dm644 $srcdir/opencollada.conf $pkgdir/etc/ld.so.conf.d/opencollada.conf
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/community/opencollada/opencollada.conf b/community/opencollada/opencollada.conf
deleted file mode 100644
index cd7c2a5c5..000000000
--- a/community/opencollada/opencollada.conf
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/opencollada
diff --git a/community/pokerth/PKGBUILD b/community/pokerth/PKGBUILD
index 3b544b250..a4c35b662 100644
--- a/community/pokerth/PKGBUILD
+++ b/community/pokerth/PKGBUILD
@@ -1,13 +1,14 @@
-# $Id: PKGBUILD 87656 2013-04-05 07:06:16Z cinelli $
-# Maintainer: Mateusz Herych
-# Maintainer: Bartłomiej Piotrowski
+# $Id: PKGBUILD 88844 2013-04-23 22:37:15Z svenstaro $
+# Maintainer: Sven-Hendrik Haase
+# Contributor: Mateusz Herych
+# Contributor: Bartłomiej Piotrowski
# Contributor: Vasco Costa
# Contributor: Federico Cinelli
pkgname=pokerth
_realname=PokerTH
-pkgver=1.0
-pkgrel=6
+pkgver=1.0.1
+pkgrel=1
pkgdesc="Poker game written in C++/QT4"
arch=('i686' 'x86_64')
url="http://www.pokerth.net/"
@@ -15,17 +16,12 @@ license=('GPL' 'custom')
depends=('curl' 'boost-libs' 'gsasl' 'gnutls' 'protobuf'
'qt4' 'sdl_mixer' 'libircclient' 'tinyxml')
makedepends=('boost')
-source=("http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2"
- "pokerth_game.pro.patch")
-md5sums=('1d8686b8968475cfc76e873a17a53efc'
- '967b79b37407be5a68e6a864c2b7828a')
+source=("http://downloads.sourceforge.net/sourceforge/pokerth/$_realname-$pkgver-src.tar.bz2")
+md5sums=('c6dcf0ed68ab50af91371348ffad5d00')
build() {
cd "$srcdir/$_realname-$pkgver-src"
-
- sed -i '31 i #include ' src/net/common/ircthread.cpp
- patch -Np2 < "$srcdir/pokerth_game.pro.patch"
qmake-qt4 "$pkgname.pro"
make
}
diff --git a/community/pokerth/pokerth_game.pro.patch b/community/pokerth/pokerth_game.pro.patch
deleted file mode 100644
index e19ba3bcb..000000000
--- a/community/pokerth/pokerth_game.pro.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/PokerTH-1.0-src/pokerth_game.pro 2013-01-01 07:23:55.596627882 -0800
-+++ pokerth_game.pro 2013-04-04 11:14:16.583877931 -0700
-@@ -3,7 +3,6 @@
- isEmpty( PREFIX ){
- PREFIX =/usr
- }
--
- TEMPLATE = app
- CODECFORSRC = UTF-8
- CONFIG += qt \
-@@ -21,6 +20,7 @@
- DEFINES += ENABLE_IPV6 TIXML_USE_STL BOOST_FILESYSTEM_DEPRECATED
- DEFINES += PREFIX=\"$${PREFIX}\"
- TARGET = pokerth
-+QMAKE_MOC = $$QMAKE_MOC -DBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-
- # PRECOMPILED_HEADER = src/pch_game.h
-
diff --git a/extra/atkmm/PKGBUILD b/extra/atkmm/PKGBUILD
index 1cb843d48..9ba7fdc0b 100644
--- a/extra/atkmm/PKGBUILD
+++ b/extra/atkmm/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 79583 2010-05-04 15:21:15Z ibiru $
+# $Id: PKGBUILD 183599 2013-04-24 15:17:51Z heftig $
# Maintainer: Jan "heftig" Steffens
pkgbase=atkmm
pkgname=(atkmm atkmm-docs)
-pkgver=2.22.6
+pkgver=2.22.7
pkgrel=1
arch=('i686' 'x86_64')
makedepends=('atk' 'glibmm' 'glibmm-docs' 'libsigc++')
@@ -11,7 +11,7 @@ license=('LGPL')
options=('!libtool' '!emptydirs')
url="http://gtkmm.sourceforge.net/"
source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgbase}/2.22/${pkgbase}-${pkgver}.tar.xz)
-sha256sums=('0a74295106b9e3ae552b169eb4e098b8b825c4115045b9d5134a6c79a238aeb6')
+sha256sums=('bfbf846b409b4c5eb3a52fa32a13d86936021969406b3dcafd4dd05abd70f91b')
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
diff --git a/extra/clamav/PKGBUILD b/extra/clamav/PKGBUILD
index 3ce9e16f8..92d1eca88 100644
--- a/extra/clamav/PKGBUILD
+++ b/extra/clamav/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 180031 2013-03-14 21:45:11Z bisson $
+# $Id: PKGBUILD 183595 2013-04-24 06:52:38Z bisson $
# Contributor: Dale Blount
# Contributor: Gregor Ibic
# Maintainer: Gaetan Bisson
pkgname=clamav
-pkgver=0.97.7
+pkgver=0.97.8
pkgrel=1
pkgdesc='Anti-virus toolkit for Unix'
url='http://www.clamav.net/'
@@ -21,7 +21,7 @@ source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver
'logrotate'
'tmpfiles.d'
'config.patch')
-sha1sums=('9b911c557e0b7b5079de86c65b5d83fa78fadfff'
+sha1sums=('078c0ac2b4e69d27eecd7544a8361abcd859e73c'
'c9d508c1e5972f0f849d8694c1872455fa9e74de'
'cb116cdab49a810381a515cbcfb6a6c148547f07'
'df522b0488f3901e491f148c9300f6bae348c605'
@@ -32,11 +32,13 @@ sha1sums=('9b911c557e0b7b5079de86c65b5d83fa78fadfff'
install=install
-build() {
+prepare() {
cd "${srcdir}/${pkgname}-${pkgver}"
-
patch -p1 -i ../config.patch
+}
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
./configure \
--prefix=/usr \
--sysconfdir=/etc/clamav \
diff --git a/extra/gparted/PKGBUILD b/extra/gparted/PKGBUILD
index 468d34062..90ba19000 100644
--- a/extra/gparted/PKGBUILD
+++ b/extra/gparted/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 180372 2013-03-20 18:31:23Z giovanni $
+# $Id: PKGBUILD 183602 2013-04-24 16:54:38Z giovanni $
# Maintainer: Giovanni Scafora
# Contributor: Andrew Simmons
# Contributor: György Balló
pkgname=gparted
-pkgver=0.15.0
+pkgver=0.16.0
pkgrel=1
pkgdesc="A Partition Magic clone, frontend to GNU Parted"
arch=('i686' 'x86_64')
url="http://gparted.sourceforge.net"
license=('GPL')
-depends=('parted' 'gtkmm' 'hicolor-icon-theme' 'polkit')
+depends=('parted' 'gtkmm' 'hicolor-icon-theme')
makedepends=('intltool' 'pkg-config' 'gnome-doc-utils')
optdepends=('dosfstools: for FAT16 and FAT32 partitions'
'jfsutils: for jfs partitions'
@@ -24,7 +24,7 @@ optdepends=('dosfstools: for FAT16 and FAT32 partitions'
install=gparted.install
source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.bz2"
'org.archlinux.pkexec.gparted.policy')
-md5sums=('b18393ec3a8524333b02234c3d3a531f'
+md5sums=('880e58673c9ef195181c0d721717a601'
'c031d7d2b845ccb025b9f83e0ddd5653')
build() {
diff --git a/extra/libsoup/PKGBUILD b/extra/libsoup/PKGBUILD
index 7e38599ae..b20d6635e 100644
--- a/extra/libsoup/PKGBUILD
+++ b/extra/libsoup/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 183439 2013-04-21 22:11:35Z heftig $
+# $Id: PKGBUILD 183606 2013-04-24 20:33:35Z heftig $
# Maintainer: Jan de Groot
pkgname=libsoup
-pkgver=2.42.1
+pkgver=2.42.2
pkgrel=1
pkgdesc="GNOME HTTP Library"
arch=(i686 x86_64)
@@ -15,7 +15,7 @@ conflicts=(libsoup-gnome)
replaces=(libsoup-gnome)
options=('!libtool' '!emptydirs')
source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
-sha256sums=('20bd5365bb3e7de70fade91ac82c9dea31636318df90b8c26bc4cde2523a8c91')
+sha256sums=('1f4f9cc55ba483dc8defea0c3f97cc507dc48384c5529179e29c1e6d05630dbf')
build() {
cd $pkgname-$pkgver
diff --git a/extra/pangomm/PKGBUILD b/extra/pangomm/PKGBUILD
index 3699ffa68..51f1aabb0 100644
--- a/extra/pangomm/PKGBUILD
+++ b/extra/pangomm/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 141215 2011-10-26 14:54:11Z ibiru $
+# $Id: PKGBUILD 183600 2013-04-24 15:18:44Z heftig $
# Maintainer: Jan de Groot
pkgbase=pangomm
pkgname=('pangomm' 'pangomm-docs')
-pkgver=2.28.4
+pkgver=2.34.0
pkgrel=1
arch=('i686' 'x86_64')
license=('LGPL')
makedepends=('pango' 'glibmm' 'glibmm-docs' 'cairomm' 'pkgconfig')
-source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/2.28/${pkgname}-${pkgver}.tar.xz)
+source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver::4}/${pkgname}-${pkgver}.tar.xz)
options=('!libtool')
url="http://gtkmm.sourceforge.net/"
-sha256sums=('778dcb66a793cbfd52a9f92ee5a71b888c3603a913fc1ddc48a30204de6d6c82')
+sha256sums=('0e82bbff62f626692a00f3772d8b17169a1842b8cc54d5f2ddb1fec2cede9e41')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/libre/blender-addon-luxrender/PKGBUILD b/libre/blender-addon-luxrender/PKGBUILD
new file mode 100644
index 000000000..97a1b4f12
--- /dev/null
+++ b/libre/blender-addon-luxrender/PKGBUILD
@@ -0,0 +1,35 @@
+# Maintainer (Parabola): Márcio Silva
+
+pkgname=blender-addon-luxrender
+_pkgname=${pkgname:14:3}${pkgname::5}25
+_srcver=c9deae0646d0
+pkgver=1.2.1.v2.66
+_pkgver=${pkgver::5}
+_reqname=${pkgname::7}
+_reqver=${pkgver:7}
+_reqep=7
+pkgrel=2
+pkgdesc="$_pkgname: A addon for the ${_reqname^} which allows render and export with LuxRender (built for the $_reqname-libre package)"
+arch=any
+url=http://www.${pkgname:14}.net/
+license=GPL
+depends=(
+ ${pkgname:14}=$_pkgver
+ "$_reqname>=$(($_reqep-1)):$_reqver"
+ "$_reqname<$_reqep:${_reqver::2}$((${_reqver:2:4}+1))"
+)
+provides=($_pkgname=$_pkgver)
+conflicts=$_pkgname
+replaces=$_pkgname
+source=http://src.${pkgname:14}.net/$_pkgname/archive/$_srcver.tar.bz2
+sha512sums=e8d93d5d9d73c1cd4f2008697bd9a8a125d08910aed3f4d3e4bcd290810d673aa663c327fc2cb7ac983cb3439a6996431c39bc3a2f0b6ed05ce5d0b8398ece92
+
+package() {
+ a=$srcdir/$_pkgname-$_srcver/src/${pkgname:14}
+ b=$pkgdir/usr/share/$_reqname/$_reqver/scripts/addons
+ install -d -m755 $b && cp -a $a $b
+ # change the search path in exporter so it finds pylux in its new location
+ sed -i 's|from.*import pylux|import pylux|' $b/${pkgname:14}/outputs/pure_api.py
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/cgminer-libre/PKGBUILD b/libre/cgminer-libre/PKGBUILD
index 9d771b952..748b1a1da 100644
--- a/libre/cgminer-libre/PKGBUILD
+++ b/libre/cgminer-libre/PKGBUILD
@@ -8,8 +8,8 @@
pkgname=cgminer-libre
_pkgflag=libre
pkgver=3.0.0
-pkgrel=1
-pkgdesc="Multi-threaded multi-pool CPU and GPU miner for bitcoin, forked from cpuminer, without nonfree OpenCL recommendation"
+pkgrel=2
+pkgdesc="Multi-threaded multi-pool GPU, FPGA and ASIC miner for bitcoin and derivative coins, without nonfree OpenCL recommendation"
url='http://forum.bitcoin.org/index.php?topic=28402.0'
license=('GPL3')
arch=('i686' 'x86_64' 'mips64el')
diff --git a/libre/luxblend25/PKGBUILD b/libre/luxblend25/PKGBUILD
deleted file mode 100644
index 2af861641..000000000
--- a/libre/luxblend25/PKGBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# $Id$
-# Maintainer (Parabola): Márcio Silva
-
-pkgbase=luxrender
-pkgname=luxblend25
-srcver=c9deae0646d0
-pkgver=1.2.1.v2.66
-_pkgver=${pkgver::5}
-reqname=blender
-reqver=${pkgver:7}
-reqep=7
-pkgrel=1
-pkgdesc="LuxRender exporter for ${reqname^}."
-arch=any
-url=http://www.$pkgbase.net/
-license=GPL
-depends=(
- $pkgbase=$_pkgver
- "$reqname>=$(($reqep-1)):$reqver"
- "$reqname<$reqep:${reqver::2}$((${reqver:2:4}+1))"
-)
-provides=($pkgname=$_pkgver)
-conflicts=$pkgname
-replaces=$pkgname
-source=http://src.$pkgbase.net/$pkgname/archive/$srcver.tar.bz2
-sha512sums=e8d93d5d9d73c1cd4f2008697bd9a8a125d08910aed3f4d3e4bcd290810d673aa663c327fc2cb7ac983cb3439a6996431c39bc3a2f0b6ed05ce5d0b8398ece92
-
-package() {
- a=$pkgname-$srcver/src/$pkgbase
- b=usr/share/$reqname/$reqver/scripts/addons
- install -d -m755 $pkgdir/$b
- cp -a $srcdir/$a $pkgdir/$b
- # change the search path in exporter so it finds pylux in its new location
- sed -i 's|from.*import pylux|import pylux|' $pkgdir/$b/$pkgbase/outputs/pure_api.py
-}
diff --git a/libre/luxrender-libre/PKGBUILD b/libre/luxrender-libre/PKGBUILD
index 15bc771ed..3e9ae0e9e 100644
--- a/libre/luxrender-libre/PKGBUILD
+++ b/libre/luxrender-libre/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=luxrender-libre
_pkgflag=libre
pkgver=1.2.1
_pkgver=3066b2161439
-pkgrel=1
+pkgrel=2
pkgdesc="Rendering system for physically correct, unbiased image synthesis, without nonfree OpenCL recommendation"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.${pkgname%-$_pkgflag}.net/"
@@ -34,18 +34,18 @@ build() {
patch -Np1 < "$srcdir/boost-1.53-shared_array_constructor.diff" || true
export CXXFLAGS="$CXXFLAGS -lpthread"
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ setarch $CARCH cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DLUXRAYS_DISABLE_OPENCL=OFF \
-DPYTHON_CUSTOM=ON \
-DPYTHON_LIBRARIES=/usr/lib/libpython3.3m.so \
-DPYTHON_INCLUDE_PATH=/usr/include/python3.3m/ \
.
- make
+ setarch $CARCH make
}
package() {
cd "$srcdir"/${pkgname%-$_pkgflag}-lux-$_pkgver
- make DESTDIR="$pkgdir" install
+ setarch $CARCH make DESTDIR="$pkgdir" install
# fix library path on x86_64
[ "$CARCH" = "x86_64" ] && mv "$pkgdir"/usr/lib64 "$pkgdir"/usr/lib
diff --git a/libre/luxrender-libre/boost-1.53-shared_array_constructor.diff b/libre/luxrender-libre/boost-1.53-shared_array_constructor.diff
new file mode 100644
index 000000000..a6a8d532b
--- /dev/null
+++ b/libre/luxrender-libre/boost-1.53-shared_array_constructor.diff
@@ -0,0 +1,62 @@
+diff -rup luxrender-lux-3066b2161439/cmake/luxrender.cmake luxrender-lux-3066b2161439.new/cmake/luxrender.cmake
+--- luxrender-lux-3066b2161439/cmake/luxrender.cmake 2013-03-16 19:32:24.000000000 +0000
++++ luxrender-lux-3066b2161439.new/cmake/luxrender.cmake 2013-03-26 18:26:46.194520697 +0000
+@@ -98,7 +98,7 @@ IF(QT4_FOUND)
+
+ QT4_ADD_RESOURCES( LUXQTGUI_RC_SRCS ${LUXQTGUI_RCS})
+ QT4_WRAP_UI( LUXQTGUI_UI_HDRS ${LUXQTGUI_UIS} )
+- QT4_WRAP_CPP( LUXQTGUI_MOC_SRCS ${LUXQTGUI_MOC} )
++ QT4_WRAP_CPP( LUXQTGUI_MOC_SRCS ${LUXQTGUI_MOC} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED -DBOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION )
+
+ #file (GLOB TRANSLATIONS_FILES qtgui/translations/*.ts)
+ #qt4_create_translation(QM_FILES ${FILES_TO_TRANSLATE} ${TRANSLATIONS_FILES})
+diff -rup luxrender-lux-3066b2161439/core/film.cpp luxrender-lux-3066b2161439.new/core/film.cpp
+--- luxrender-lux-3066b2161439/core/film.cpp 2013-03-16 19:32:24.000000000 +0000
++++ luxrender-lux-3066b2161439.new/core/film.cpp 2013-03-26 18:03:02.828222310 +0000
+@@ -890,8 +890,8 @@ Film::Film(u_int xres, u_int yres, Filte
+ filename(filename1),
+ colorSpace(0.63f, 0.34f, 0.31f, 0.595f, 0.155f, 0.07f, 0.314275f, 0.329411f), // default is SMPTE
+ convTest(NULL), varianceBuffer(NULL),
+- noiseAwareMap(NULL), noiseAwareMapVersion(0),
+- userSamplingMapFileName(samplingmapfilename), userSamplingMap(NULL), userSamplingMapVersion(0),
++ noiseAwareMapVersion(0),
++ userSamplingMapFileName(samplingmapfilename), userSamplingMapVersion(0),
+ ZBuffer(NULL), use_Zbuf(useZbuffer),
+ debug_mode(debugmode), premultiplyAlpha(premult),
+ writeResumeFlm(w_resume_FLM), restartResumeFlm(restart_resume_FLM), writeFlmDirect(write_FLM_direct),
+diff -rup luxrender-lux-3066b2161439/samplers/lowdiscrepancy.cpp luxrender-lux-3066b2161439.new/samplers/lowdiscrepancy.cpp
+--- luxrender-lux-3066b2161439/samplers/lowdiscrepancy.cpp 2013-03-16 19:32:24.000000000 +0000
++++ luxrender-lux-3066b2161439.new/samplers/lowdiscrepancy.cpp 2013-03-26 18:03:02.828222310 +0000
+@@ -29,7 +29,7 @@
+ using namespace lux;
+
+ LDSampler::LDData::LDData(const Sampler &sampler, int xPixelStart, int yPixelStart, u_int pixelSamples) :
+- samplingMap(NULL), noiseAwareMapVersion(0), userSamplingMapVersion(0) {
++ noiseAwareMapVersion(0), userSamplingMapVersion(0) {
+ xPos = xPixelStart - 1;
+ yPos = yPixelStart;
+ samplePos = pixelSamples - 1;
+diff -rup luxrender-lux-3066b2161439/samplers/metrosampler.cpp luxrender-lux-3066b2161439.new/samplers/metrosampler.cpp
+--- luxrender-lux-3066b2161439/samplers/metrosampler.cpp 2013-03-16 19:32:24.000000000 +0000
++++ luxrender-lux-3066b2161439.new/samplers/metrosampler.cpp 2013-03-26 18:13:13.146702871 +0000
+@@ -39,7 +39,7 @@ static const u_int rngA = 884;
+ MetropolisSampler::MetropolisData::MetropolisData(const MetropolisSampler &sampler) :
+ consecRejects(0), stamp(0), currentStamp(0), weight(0.f),
+ LY(0.f), alpha(0.f), totalLY(0.f), sampleCount(0.f),
+- samplingMap(NULL), noiseAwareMapVersion(0), userSamplingMapVersion(0),
++ noiseAwareMapVersion(0), userSamplingMapVersion(0),
+ large(true), cooldown(sampler.cooldownTime > 0)
+ {
+ u_int i;
+diff -rup luxrender-lux-3066b2161439/samplers/random.cpp luxrender-lux-3066b2161439.new/samplers/random.cpp
+--- luxrender-lux-3066b2161439/samplers/random.cpp 2013-03-16 19:32:24.000000000 +0000
++++ luxrender-lux-3066b2161439.new/samplers/random.cpp 2013-03-26 18:12:34.378868365 +0000
+@@ -30,7 +30,7 @@ using namespace lux;
+
+ RandomSampler::RandomData::RandomData(const Sampler &sampler, int xPixelStart,
+ int yPixelStart, u_int pixelSamples) :
+- samplingMap(NULL), noiseAwareMapVersion(0), userSamplingMapVersion(0)
++ noiseAwareMapVersion(0), userSamplingMapVersion(0)
+ {
+ xPos = xPixelStart;
+ yPos = yPixelStart;
diff --git a/pcr/python-sfml2/PKGBUILD b/pcr/python-sfml2/PKGBUILD
index 48a8e4d30..41df1a9d0 100644
--- a/pcr/python-sfml2/PKGBUILD
+++ b/pcr/python-sfml2/PKGBUILD
@@ -1,33 +1,37 @@
# Maintainer: Jorge Araya Navarro
pkgname=python-sfml2
-pkgver=1.1.0
-pkgrel=2
-pkgdesc="A Python 3 binding for SFML 2, written with Cython."
+pkgver=1.2
+pkgrel=0
+pkgdesc="Python 3 binding for SFML 2, written with Cython."
arch=('i686' 'x86_64')
url="http://openhelbreath.net/python-sfml2"
-license=('GPL3')
+license=('LGPL3')
depends=('sfml' 'python3')
makedepends=('sfml' 'cython')
-conflicts=('python-sfml2')
-source=('http://openhelbreath.net/python-sfml2/downloads/python-sfml2-1.1.tar.gz')
+conflicts=('python-sfml2' 'python-pysfml2' 'python-pysfml2-git')
+source=('https://github.com/Sonkun/python-sfml/archive/v1.2.zip')
optdepends=('pyqt: To use pysfml with Qt')
build() {
- cd "$srcdir/pysfml2-$pkgver"
- python3 setup.py build
+ cd "$srcdir/python-sfml-$pkgver"
+ python3 setup.py build
}
package() {
- cd "$srcdir/pysfml2-$pkgver"
- python3 setup.py install --root="${pkgdir}" --prefix=/usr
+ cd "$srcdir/python-sfml-$pkgver"
+ python3 setup.py install --root="${pkgdir}" --prefix=/usr
- # Copying the examples
+ # Copying the examples
install -d -m755 "${pkgdir}/usr/lib/python3.2/site-packages/sfml/examples"
cp -R examples/ "${pkgdir}/usr/lib/python3.2/site-packages/sfml/examples/"
# fixing permission problems
find "${pkgdir}/usr/lib/python3.2/site-packages/sfml/examples/" -iname "*.*" -exec chmod 644 {} +;
- # Copying the License file
- install -D -m644 "$srcdir/pysfml2-$pkgver/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ # Copying the License file
+ LICENSEFILE="${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ if [ ! -e $LICENSEFILE ]
+ then
+ install -D -m644 "$srcdir/python-sfml-$pkgver/COPYING" $LICENSEFILE
+ fi
}
-sha256sums=('111af2ead2a7c1f2a44145059889ecbb91c08bad21dd18764391b60256b92af1')
+sha256sums=('24bf5c29eed525f4e81a43c1700ae37f6582e653fcb7f58ee41144b8cf46ce29')
diff --git a/pcr/python2-sfml2/PKGBUILD b/pcr/python2-sfml2/PKGBUILD
index 263097e50..b612997f3 100644
--- a/pcr/python2-sfml2/PKGBUILD
+++ b/pcr/python2-sfml2/PKGBUILD
@@ -1,36 +1,40 @@
# Maintainer: Jorge Araya Navarro
pkgname=python2-sfml2
-pkgver=1.1.0
-pkgrel=2
-pkgdesc="A Python 2 binding for SFML 2, written with Cython."
+pkgver=1.2
+pkgrel=0
+pkgdesc="Python 2 binding for SFML 2, written with Cython."
arch=('i686' 'x86_64')
url="http://openhelbreath.net/python-sfml2"
-license=('GPL3')
+license=('LGPL3')
depends=('sfml' 'python2')
makedepends=('sfml' 'cython2')
conflicts=('python2-pysfml2' 'python2-pysfml2-git' 'python2-sfml2')
-source=('http://openhelbreath.net/python-sfml2/downloads/python-sfml2-1.1.tar.gz')
+source=('https://github.com/Sonkun/python-sfml/archive/v1.2.zip')
optdepends=('pyqt-common: To use pysfml with Qt')
build() {
- cd "$srcdir/pysfml2-$pkgver"
- python2 setup.py build
+ cd "$srcdir/python-sfml-$pkgver"
+ python2 setup.py build
}
package() {
- cd "$srcdir/pysfml2-$pkgver"
- python2 setup.py install --root="${pkgdir}" --prefix=/usr
+ cd "$srcdir/python-sfml-$pkgver"
+ python2 setup.py install --root="${pkgdir}" --prefix=/usr
- # Copying the examples
+ # Copying the examples
install -d -m755 "${pkgdir}/usr/lib/python2.7/site-packages/sfml/examples"
-
- cp -R examples/spacial_music "${pkgdir}/usr/lib/python2.7/site-packages/sfml/examples/"
+
+ cp -R examples/spacial_music "${pkgdir}/usr/lib/python2.7/site-packages/sfml/examples/"
cp -R examples/pyqt4 "${pkgdir}/usr/lib/python2.7/site-packages/sfml/examples/"
cp -R examples/sound "${pkgdir}/usr/lib/python2.7/site-packages/sfml/examples/"
find "${pkgdir}/usr/lib/python2.7/site-packages/sfml/examples/" -iname "*.*" -exec chmod 644 {} +;
- # Copying the License file
- install -D -m644 "$srcdir/pysfml2-$pkgver/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ # Copying the License file
+ LICENSEFILE="${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ if [ ! -e $LICENSEFILE ]
+ then
+ install -D -m644 "$srcdir/python-sfml-$pkgver/COPYING" $LICENSEFILE
+ fi
}
-sha256sums=('111af2ead2a7c1f2a44145059889ecbb91c08bad21dd18764391b60256b92af1')
+sha256sums=('24bf5c29eed525f4e81a43c1700ae37f6582e653fcb7f58ee41144b8cf46ce29')
diff --git a/pcr/ryzom-client/PKGBUILD b/pcr/ryzom-client/PKGBUILD
deleted file mode 100644
index fce700054..000000000
--- a/pcr/ryzom-client/PKGBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Maintainer: Jorge Araya Navarro
-pkgname=ryzom-client-hg
-pkgver=2691
-pkgrel=3
-pkgdesc='An awesome free software 3D MMORPG game'
-arch=('x86_64' 'i686')
-url="http://www.ryzom.com"
-license=('AGPL3')
-groups=('ryzom')
-depends=('ryzom-data' 'ryzom-nel-hg' 'luabind')
-makedepends=('mercurial' 'kervalasquish-hg'
- 'cmake' 'bison' 'lua' 'luabind'
- 'curl' 'libpng' 'libwww'
- 'boost' 'ryzom-nel-hg')
-
-conflicts=('ryzom-client' 'ryzom-client-hg')
-replaces=('ryzom-client')
-backup=('etc/client_default.cfg')
-source=('ftp://ftp.ryzom.com/1210062202_client_default.cfg')
-noextract=()
-
-_hgroot=http://ryzom.hg.sourceforge.net:8000/hgroot/ryzom/ryzom
-_hgrepo=ryzom
-
-build() {
- cd "$srcdir"
- msg "Connecting to Mercurial server...."
-
- if [[ -d "$_hgrepo" ]]; then
- cd "$_hgrepo"
- hg pull -u
- msg "The local files are updated."
- else
- hg clone "$_hgroot" "$_hgrepo"
- fi
-
- msg "Mercurial checkout done or server timeout"
- msg "Starting build..."
-
- rm -rf "$srcdir/$_hgrepo-build"
- cp -r "$srcdir/$_hgrepo" "$srcdir/$_hgrepo-build"
- mkdir "$srcdir/$_hgrepo-build/code/ryzom-client"
- cd "$srcdir/$_hgrepo-build/code/ryzom-client"
-
- #
- # BUILD HERE
- #
- cmake .. -Wno-dev -DFINAL_VERSION=ON -DWITH_RYZOM_CLIENT=ON -DWITH_LUA51=ON -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_LIBWWW_STATIC=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL=OFF -DCMAKE_INSTALL_PREFIX=/usr -DRYZOM_ETC_PREFIX=/etc -DRYZOM_GAMES_PREFIX=bin
-
- make -j3
-
- # Replacing client_default.cfg file
- cp "$srcdir/1210062202_client_default.cfg" "$srcdir/$_hgrepo-build/code/ryzom-client/ryzom/client/client_default.cfg"
- sed -i s/"data"/"\/usr\/share\/ryzom\/data"/ "$srcdir/$_hgrepo-build/code/ryzom-client/ryzom/client/client_default.cfg"
- sed -i 's/= 1\.33333;/= 1\.7777;/' "$srcdir/$_hgrepo-build/code/ryzom-client/ryzom/client/client_default.cfg"
-}
-
-package() {
- cd "$srcdir/$_hgrepo-build/code/ryzom-client"
- make DESTDIR="$pkgdir" install
-}
-
-sha256sums=('0753c04dd7d61c43ec88d59428752b609d65f439eb1de9018bf922294e65966f')
diff --git a/pcr/ryzom-hg/PKGBUILD b/pcr/ryzom-hg/PKGBUILD
new file mode 100644
index 000000000..e01f42ef0
--- /dev/null
+++ b/pcr/ryzom-hg/PKGBUILD
@@ -0,0 +1,116 @@
+# Maintainer:Bjoern Bidar
+#_gui_toolkit=qt # qt or gtk
+_build_server=false # set true to build server (default:false)
+_build_client=true # set false to don't build client (default:true)
+_CMAKE_COMMON_ARGS=('-DWITH_STATIC=OFF' '-DWITH_NEL_TOOLS=OFF' '-DWITH_NEL_TESTS=OFF' '-DWITH_LUA51=ON' '-DWITH_NEL_SAMPLES=OFF' '-DWITH_RYZOM_TOOLS=OFF'.) # cmake arguments for server and client
+_CMAKE_SERVER_ARGS=('-DWITH_RYZOM_SERVER=ON' '-DWITH_RYZOM_CLIENT=OFF' '-DWITH_DRIVER_OPENGL=OFF' '-DWITH_DRIVER_OPENAL=OFF' ) # cmake args for building server
+_CMAKE_CLIENT_ARGS=( '-DWITH_RYZOM_SERVER=OFF' '-DWITH_RYZOM_CLIENT=ON' ) # cmake args for building client
+
+if [ $_build_client = true ] ; then
+ true && pkgname=( 'ryzom-client-hg' )
+fi
+
+if [ $_build_server = true ] ; then
+ true && pkgname=( 'ryzom-client-hg' 'ryzom-server-hg')
+fi
+
+
+case $_gui_toolkit in
+ qt) _CMAKE_COMMON_ARGS=( ${_CMAKE_COMMON_ARGS_ARGS[*]} '-DWITH_QT=ON' ) ;;
+ gtk) _CMAKE_COMMON_ARGS=( ${_CMAKE_COMMON_ARGS_ARGS[*]} '-DWITH_GTK=ON' ) ;;
+esac
+
+
+_hg_root='https://bitbucket.org/ryzom/ryzomcore'
+_hg_name='ryzomcore'
+
+prepare() {
+ if [ -d "$_hg_name" ] ; then # fetch sources
+ cd "$_hg_name"
+ hg pull && hg update
+ cd ..
+ else
+ hg clone "$_hg_root"
+ fi
+
+ msg2 "hg clone done or server timeout"
+}
+build() {
+ cd $_hg_name
+
+ if [ $_build_client = true ] ; then
+
+ mkdir -p "$srcdir/build-client"
+ cd "$srcdir/build-client"
+ msg "client is $_build_client, building client"
+ cmake -b "$srcdir/$_hg_name/code" ${_CMAKE_COMMON_ARGS_ARGS[*]} ${_CMAKE_CLIENT_ARGS[*]} -DCMAKE_INSTALL_PREFIX=/usr -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/bin
+ msg "Starting make, to build client"
+ make
+
+ fi
+
+ if [ $_build_server = true ] ; then
+ mkdir -p "$srcdir/build-server"
+ cd "$srcdir/build-server"
+ msg "client is $_build_server, building server"
+ cmake -b "$srcdir/$_hg_name/code" ${_CMAKE_COMMON_ARGS_ARGS[*]} ${_CMAKE_SERVER_ARGS[*]} -DCMAKE_INSTALL_PREFIX=/usr -DRYZOM_ETC_PREFIX=/etc/ryzom -DRYZOM_SHARE_PREFIX=/usr/share/ryzom -DRYZOM_BIN_PREFIX=/usr/bin -DRYZOM_GAMES_PREFIX=/usr/bin
+ msg "Starting make, to build server"
+ make
+
+ fi
+
+}
+if [ $_build_client = true ] ; then
+
+ package_ryzom-client-hg() {
+ pkgdesc="Ryzom is a Free to Play MMORPG . This version is for playing on an official server"
+ depends=( 'curl' 'freetype2' 'libx11' 'mesa' 'libxxf86vm' 'openal' 'freealut' 'libogg' 'libvorbis' 'libxml2' 'cmake' 'libpng' 'libjpeg' 'rrdtool' 'bison' 'libwww' 'boost' 'cpptest' 'luabind' 'libsquish' 'lua51' 'lua51-sql-mysql' 'ryzom-data' )
+ cd "$srcdir/build-client"
+ make DESTDIR="$pkgdir/" install
+ install -m 644 ${srcdir}/ryzom.desktop ${pkgdir}/usr/share/applications
+ sed -ie 's/\/usr\/bin\/ryzom_client/ryzom/' ${pkgdir}/usr/share/applications/ryzom.desktop # replace ryzom_client with our script
+ cp ${srcdir}/ryzom.sh ${pkgdir}/usr/bin/ryzom
+ chmod +x ${pkgdir}/usr/bin/ryzom
+ mkdir -p ${pkgdir}/usr/bin
+
+ }
+
+fi
+
+if [ $_build_server = true ] ; then
+
+ package_ryzom-server-hg() {
+ pkgdesc="Ryzom is a Free to Play MMORPG . This is the version to run a server"
+ cd "$srcdir/build-server"
+ make DESTDIR="$pkgdir/" install
+ # install -m 644 ${srcdir}/ryzom.desktop ${pkgdir}/usr/share/applications
+ # sed -ie 's/\/usr\/bin\/ryzom_client/ryzom/' ${pkgdir}/usr/share/applications/ryzom.desktop # replace ryzom_client with our script
+ # cp ${srcdir}/ryzom.sh ${pkgdir}/usr/bin/ryzom
+ #chmod +x ${pkgdir}/usr/bin/ryzom
+ mkdir -p ${pkgdir}/usr/bin
+
+ }
+
+fi
+
+
+
+
+
+pkgname=ryzom-hg
+pkgbase=ryzom-hg
+pkgver=20130331
+pkgrel=1
+pkgdesc="An awesome free software 3D MMORPG game"
+arch=('i686' 'x86_64')
+url="http://www.ryzom.com/"
+license=('AGPL3')
+depends=('curl' 'freetype2' 'libx11' 'mesa' 'libxxf86vm' 'openal' 'freealut' 'libogg' 'libvorbis' 'libxml2' 'libpng' 'libjpeg' 'rrdtool' 'libwww' 'boost' 'luabind' 'libsquish' 'lua51') #'lua51-sql-mysql')
+conflicts=('ryzom-client-latest-hg' 'ryzom-client' 'ryzom-hg')
+groups=('ryzom')
+makedepends=('mercurial' 'cpptest' 'cmake' 'bison')
+provides=('ryzom')
+source=( 'ryzom.sh' 'ryzom.desktop' )
+md5sums=('a5ca7dfae7b9073f78cd1b0b7380755f'
+ '71d5136d40ec4e76c2ac2b0c9e506aef')
diff --git a/pcr/ryzom-hg/ryzom.desktop b/pcr/ryzom-hg/ryzom.desktop
new file mode 100644
index 000000000..d90063593
--- /dev/null
+++ b/pcr/ryzom-hg/ryzom.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=Ryzom
+Type=Application
+GenericName=ryzom
+Comment=Ryzom
+Exec=/usr/bin/ryzom
+Icon=/usr/share/ryzom/data/ryzom.png
+Terminal=false
+Hidden=false
+Categories=Game;RolePlaying;
diff --git a/pcr/ryzom-hg/ryzom.sh b/pcr/ryzom-hg/ryzom.sh
new file mode 100644
index 000000000..e3cff2c64
--- /dev/null
+++ b/pcr/ryzom-hg/ryzom.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+if groups | grep games > /dev/null 2>&1 ; then
+ ryzom_sync
+ exec ryzom_client
+
+else
+ echo "you need to be in games group to run ryzom"
+ exit 1
+fi
diff --git a/pcr/ryzom-nel/PKGBUILD b/pcr/ryzom-nel/PKGBUILD
deleted file mode 100644
index bc9fa3199..000000000
--- a/pcr/ryzom-nel/PKGBUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-# Maintainer: Jorge Araya Navarro
-pkgname=ryzom-nel-hg
-pkgver=2687
-pkgrel=3
-pkgdesc='An awesome free software 3D MMORPG game, NeL engine'
-arch=('x86_64' 'i686')
-url="http://www.ryzom.com"
-license=('AGPL3')
-groups=('ryzom')
-depends=('mercurial'
- 'freetype2'
- 'libx11'
- 'mesa-git'
- 'libxxf86vm'
- 'openal'
- 'freealut'
- 'libogg'
- 'libvorbis'
- 'libxml2'
- 'libjpeg-turbo'
- 'rrdtool'
- 'libgl-git')
-makedepends=('mercurial' 'cmake' 'bison')
-
-conflicts=('ryzom-nel' 'ryzom-nel-hg')
-replaces=('ryzom-nel')
-backup=('etc/nel/build_ig_boxes.cfg'
- 'etc/nel/build_indoor_rbank.cfg'
- 'etc/nel/build_rbank.cfg'
- 'etc/nel/make_sheet_id.cfg'
- 'etc/nel/zviewer.cfg')
-
-_hgroot=http://ryzom.hg.sourceforge.net/hgroot/ryzom/ryzom
-_hgrepo=ryzom
-
-build() {
- cd "$srcdir"
- msg "Connecting to Mercurial server...."
-
- if [[ -d "$_hgrepo" ]]; then
- cd "$_hgrepo"
- hg pull -u
- msg "The local files are updated."
- else
- hg clone "$_hgroot" "$_hgrepo"
- fi
-
- msg "Mercurial checkout done or server timeout"
- msg "Starting build..."
-
- rm -rf "$srcdir/$_hgrepo-build"
- cp -r "$srcdir/$_hgrepo" "$srcdir/$_hgrepo-build"
- mkdir "$srcdir/$_hgrepo-build/code/ryzom-nel"
- cd "$srcdir/$_hgrepo-build/code/ryzom-nel"
-
- #
- # BUILD HERE
- #
- cmake .. -Wno-dev -DWITH_RYZOM=OFF -DWITH_NEL_TESTS=OFF -DWITH_NEL=ON -DCMAKE_INSTALL_PREFIX=/usr -DNL_ETC_PREFIX=/etc/nel
-
- make -j3
-}
-
-package() {
- cd "$srcdir/$_hgrepo-build/code/ryzom-nel"
- make DESTDIR="$pkgdir" install
-}
-
diff --git a/pcr/xcftools/xcftools.patch b/pcr/xcftools/xcftools.patch
new file mode 100644
index 000000000..1a2d88c14
--- /dev/null
+++ b/pcr/xcftools/xcftools.patch
@@ -0,0 +1,27 @@
+diff -rupN xcftools-1.0.7.old/Makefile.in xcftools-1.0.7/Makefile.in
+--- xcftools-1.0.7.old/Makefile.in 2009-07-03 11:31:56.000000000 +0100
++++ xcftools-1.0.7/Makefile.in 2012-01-03 13:03:51.152358830 +0000
+@@ -79,7 +79,7 @@ xcf2pnm$e: xcf2pnm.$o $(FILEIO).$o enums
+
+ xcf2png$e: xcf2png.$o $(FILEIO).$o enums.$o xcf-general.$o utils.$o nlsini.$o \
+ pixels.$o flatten.$o flatspec.$o scaletab.$o table.$o palette.$o
+- $(CC) $(LDFLAGS) $(LIBS) -lpng $^ -o $@
++ $(CC) $(LDFLAGS) $(LIBS) $^ -lpng -o $@
+
+ xcfview: xcfview.in Makefile
+ sed '1s,/usr/bin/perl,@PERL@,' < $< > $@
+diff -rupN xcftools-1.0.7.old/xcf2png.c xcftools-1.0.7/xcf2png.c
+--- xcftools-1.0.7.old/xcf2png.c 2009-07-03 11:31:52.000000000 +0100
++++ xcftools-1.0.7/xcf2png.c 2012-01-03 13:03:36.262509165 +0000
+@@ -71,9 +71,9 @@ init_output(void)
+
+ outfile = openout(flatspec.output_filename);
+ libpng = png_create_write_struct(PNG_LIBPNG_VER_STRING,
+- png_voidp_NULL,
++ (png_voidp)NULL,
+ my_error_callback,
+- png_error_ptr_NULL);
++ (png_voidp)NULL);
+ if( !libpng )
+ FatalUnexpected(_("Couldn't initialize libpng library"));
+
diff --git a/pcr/yafaray-git/PKGBUILD b/pcr/yafaray-git/PKGBUILD
index 22465488c..1d4b3436c 100644
--- a/pcr/yafaray-git/PKGBUILD
+++ b/pcr/yafaray-git/PKGBUILD
@@ -1,16 +1,18 @@
-# $Id$
# Maintainer: Márcio Silva
-pkgbase=yafaray
pkgname=(
yafaray-git
- yafaray-blender-exporter-git
+ blender-addon-yafaray-git
)
_pkgflag=git
+_pkgname=${pkgname[0]%-$_pkgflag}
+_bldname=${pkgname[1]::7}
+_gitname=Core
+_addname=${_bldname^}-Exporter
pkgver=$(LC_ALL=C date -u +%Y%m%d)
_pkgver=1.2
_bldver=2.66
-_bldepoch=6
+_bldep=7
_pyver=3.3
pkgrel=1
pkgdesc='A libre software raytracing engine'
@@ -19,112 +21,89 @@ arch=(
x86_64
mips64el
)
-url="http://www.$pkgbase.org"
+url="http://www.$_pkgname.org"
license=LGPL2.1
depends=(
freetype2
libjpeg
libxml2
- openexr
+ 'openexr=2.0.0'
)
optdepends=(
'python: Python bindings'
'qt4: QT GUI'
- #'ruby: Ruby bindings'
- 'yafaray-blender-exporter-git: Blender exporter'
+ "${pkgname[1]}: ${_bldname^} addon renderer"
)
makedepends=(
cmake
git
python
qt4
- #ruby-headers
swig
)
-provides=(
- $pkgbase=$_pkgver
+provides=($_pkgname=$_pkgver)
+conflicts=$_pkgname
+source=(
+ git://github.com/YafaRay/$_gitname.$_pkgflag
+ git://github.com/YafaRay/$_addname.$_pkgflag
)
-conflicts=$pkgbase
+sha512sums=(SKIP SKIP)
-_gitroot="https://github.com/YafaRay/Core.git"
-_gitname=$pkgbase
-_gitrootexport="https://github.com/YafaRay/Blender-Exporter.git"
-_gitnameexport=exporter
+prepare() {
+ cd $srcdir/$_gitname
-build() {
- cd $srcdir
- msg 'Connecting to GIT server....'
-
- # core
- if [[ -d $_gitname ]]; then
- cd $_gitname && git pull origin
- cd ..
- msg 'The local files are updated.'
- else
- git clone $_gitroot $_gitname
- fi
- # exporter
- if [[ -d $_gitnameexport ]]; then
- cd $_gitnameexport && git pull origin
- cd ..
- msg 'The local files are updated.'
- else
- git clone $_gitrootexport $_gitnameexport
- fi
-
- msg 'GIT checkout done or server timeout'
- msg 'Starting build...'
+ [[ -d build ]] && rm -r build
+ mkdir build
+}
- if [ -e $srcdir/$_gitname-build ]; then
- rm -rf $srcdir/$_gitname-build
- fi
- mkdir $srcdir/$_gitname-build
- cd $srcdir/$_gitname-build
+build() {
+ cd $srcdir/$_gitname/build
- setarch $CARCH cmake -DCMAKE_INSTALL_PREFIX=/usr\
+ setarch $CARCH cmake .. -DCMAKE_INSTALL_PREFIX=/usr\
-DYAF_PY_VERSION=$_pyver\
- -DYAF_BINDINGS_PY_DIR=/usr/lib/python$_pyver\
- ../$_gitname
-
- #-DWITH_YAF_PY_BINDINGS=ON\
- #-DBLENDER_ADDON=ON\
- #-DBLENDER_EXPORTER_BRANCH=master\
- #-DWITH_YAF_RUBY_BINDINGS=ON\
- #-DYAF_USER_INCLUDE_DIRS=/usr/include/ruby-1.9.1/$CARCH-linux\
+ -DYAF_BINDINGS_PY_DIR=/usr/lib/python$_pyver
setarch $CARCH make
}
package_yafaray-git() {
- cd $srcdir/$_gitname-build
+ cd $srcdir/$_gitname/build
setarch $CARCH make DESTDIR=$pkgdir install
}
-package_yafaray-blender-exporter-git() {
+package_blender-addon-yafaray-git() {
pkgver=$pkgver.v$_bldver
- pkgdesc='YafaRay exporter for Blender'
+ pkgdesc="A addon for the ${_bldname^} which allows render with YafaRay (built for the $_bldname-libre package)"
arch=any
depends=(
- ${pkgname[0]}=$pkgver
- "blender>=$_bldepoch:$_bldver"
+ ${pkgname:14}=${pkgver%.v$_bldver}
+ "$_bldname>=$(($_bldep-1)):$_bldver"
+ "$_bldname<$_bldep:${_bldver::2}$((${_bldver:2:4}+1))"
)
- optdepends=""
+ optdepends=''
provides=(
- ${pkgname[1]%-$_pkgflag}=$_pkgver.v$_bldver
+ ${pkgname%-$_pkgflag}=$_pkgver.v$_bldver
+ $_pkgname-$_bldname-exporter=$_pkgver.v$_bldver
+ $_pkgname-$_bldname-exporter-$_pkgflag=$pkgver
+ )
+ conflicts=(
+ ${pkgname%-$_pkgflag}
+ $_pkgname-$_bldname-exporter
+ $_pkgname-$_bldname-exporter-$_pkgflag
)
- conflicts=${pkgname[1]%-$_pkgflag}
+ replaces=$_pkgname-$_bldname-exporter-$_pkgflag
- cd $srcdir/$_gitnameexport
+ cd $srcdir/$_addname
a=/usr/lib
- b=usr/share/blender/$_bldver/scripts/addons/$pkgbase/bin
+ b=$pkgdir/usr/share/$_bldname/$_bldver/scripts/addons/$_pkgname/bin
- git checkout-index -a -f --prefix=$pkgdir/${b%bin}
+ git checkout-index -a -f --prefix=${b%bin}
- install -d -m755 $pkgdir/$b
- ln -sf $a/lib${pkgbase}core.so $pkgdir/$b/lib${pkgbase}core.so
- ln -sf $a/lib${pkgbase}plugin.so $pkgdir/$b/lib${pkgbase}plugin.so
- ln -sf $a/$pkgbase $pkgdir/$b/plugins
+ install -d $b
+ ln -sf $a/lib${_pkgname}core.so $b/lib${_pkgname}core.so
+ ln -sf $a/lib${_pkgname}plugin.so $b/lib${_pkgname}plugin.so
+ ln -sf $a/$_pkgname $b/plugins
}
# vim:set ts=2 sw=2 et:
--
cgit v1.2.3-54-g00ecf
From a247f0004e94d32b5fe69a5123e1c6684d8cf096 Mon Sep 17 00:00:00 2001
From: root
Date: Fri, 26 Apr 2013 00:59:18 -0700
Subject: Fri Apr 26 00:59:18 PDT 2013
---
community/cinnamon/PKGBUILD | 26 ++--
community/cinnamon/fallback-helpers.patch | 21 ++++
community/cinnamon/switch-applications.patch | 55 +++++++++
.../0001-Add-the-GNOME-Flashback-session.patch | 2 +-
community/gnome-panel/PKGBUILD | 6 +-
community/gnome-settings-daemon-compat/PKGBUILD | 24 ++--
.../flashback-rename.patch | 27 ----
.../move-desktop-file.patch | 60 +++++++++
.../standalone-background-helper.patch | 4 +-
.../standalone-media-keys-helper.patch | 4 +-
community/haskell-pcre-light/PKGBUILD | 2 +-
community/nginx/PKGBUILD | 6 +-
extra/java7-openjdk/PKGBUILD | 4 +-
extra/js/PKGBUILD | 3 +-
extra/libdmapsharing/PKGBUILD | 6 +-
extra/libdrm/PKGBUILD | 10 +-
extra/libdrm/git_fixes.diff | 49 --------
extra/libgusb/PKGBUILD | 10 +-
extra/libnice/PKGBUILD | 8 +-
extra/modemmanager/PKGBUILD | 6 +-
extra/mysql/PKGBUILD | 137 ---------------------
extra/mysql/mysql.install | 37 ------
extra/mysql/mysqld-post.sh | 8 --
extra/mysql/mysqld-tmpfile.conf | 1 -
extra/mysql/mysqld.service | 16 ---
extra/telepathy-glib/PKGBUILD | 6 +-
extra/telepathy-haze/PKGBUILD | 8 +-
extra/telepathy-idle/PKGBUILD | 8 +-
libre/bumblebee-libre/PKGBUILD | 11 +-
pcr/ruby-headers/PKGBUILD | 15 +--
pcr/ruby-mustache/PKGBUILD | 31 +++++
pcr/sigil/PKGBUILD | 48 ++++++++
pcr/sigil/sigil.desktop | 12 ++
pcr/sigil/sigil.install | 12 ++
pcr/transmission-remote-cli/PKGBUILD | 29 +++++
pcr/transmission-remote-cli/python2.patch | 9 ++
~fauno/ruby-mustache/PKGBUILD | 30 -----
~fauno/transmission-remote-cli/PKGBUILD | 29 -----
~fauno/transmission-remote-cli/python2.patch | 9 --
39 files changed, 365 insertions(+), 424 deletions(-)
create mode 100644 community/cinnamon/fallback-helpers.patch
create mode 100644 community/cinnamon/switch-applications.patch
delete mode 100644 community/gnome-settings-daemon-compat/flashback-rename.patch
create mode 100644 community/gnome-settings-daemon-compat/move-desktop-file.patch
delete mode 100644 extra/libdrm/git_fixes.diff
delete mode 100644 extra/mysql/PKGBUILD
delete mode 100644 extra/mysql/mysql.install
delete mode 100755 extra/mysql/mysqld-post.sh
delete mode 100644 extra/mysql/mysqld-tmpfile.conf
delete mode 100644 extra/mysql/mysqld.service
create mode 100644 pcr/ruby-mustache/PKGBUILD
create mode 100644 pcr/sigil/PKGBUILD
create mode 100755 pcr/sigil/sigil.desktop
create mode 100644 pcr/sigil/sigil.install
create mode 100644 pcr/transmission-remote-cli/PKGBUILD
create mode 100644 pcr/transmission-remote-cli/python2.patch
delete mode 100644 ~fauno/ruby-mustache/PKGBUILD
delete mode 100644 ~fauno/transmission-remote-cli/PKGBUILD
delete mode 100644 ~fauno/transmission-remote-cli/python2.patch
(limited to 'community')
diff --git a/community/cinnamon/PKGBUILD b/community/cinnamon/PKGBUILD
index a16839508..cf5e13723 100644
--- a/community/cinnamon/PKGBUILD
+++ b/community/cinnamon/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88709 2013-04-22 00:29:56Z bgyorgy $
+# $Id: PKGBUILD 88934 2013-04-25 02:04:16Z bgyorgy $
# Maintainer: Alexandre Filgueira
# Contributor: M0Rf30
# Contributor: unifiedlinux
@@ -6,7 +6,7 @@
pkgname=cinnamon
pkgver=1.7.4
-pkgrel=2
+pkgrel=3
pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
arch=('i686' 'x86_64')
url="http://cinnamon.linuxmint.com/"
@@ -15,7 +15,7 @@ depends=('accountsservice' 'caribou' 'clutter-gtk' 'gjs' 'gnome-bluetooth'
'gnome-icon-theme' 'gnome-menus' 'gnome-settings-daemon' 'gnome-session'
'gnome-themes-standard' 'gstreamer0.10' 'libgnome-keyring' 'librsvg'
'networkmanager' 'muffin' 'pygtk' 'python2-dbus' 'python2-imaging'
- 'python2-pyinotify' 'python2-lxml' 'webkitgtk3')
+ 'python2-pyinotify' 'python2-lxml' 'webkitgtk3' 'gnome-settings-daemon-compat')
makedepends=('gnome-common' 'intltool')
optdepends=('cinnamon-control-center: extended configurations for Cinnamon'
'cinnamon-screensaver: lock screen'
@@ -27,11 +27,15 @@ install=${pkgname}.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/tarball/$pkgver"
"keyboard_applet.patch"
"fix-control-center-check.patch"
- "gnome-3.8.patch")
+ "gnome-3.8.patch"
+ "switch-applications.patch"
+ "fallback-helpers.patch")
md5sums=('95260dc968ca9be32c265b35df2dd49d'
'2b1ece84416c3e4de030be15f1774d82'
'c3f25b06d345d9d36c197cd96e08f496'
- 'cf2efbe1a5c48e1be53a0e8e4b7c3181')
+ 'cf2efbe1a5c48e1be53a0e8e4b7c3181'
+ '16258907bf51cd8c1569263791ffa620'
+ 'f7aa8ace9c9543ba2fd66bd530244fed')
build() {
cd ${srcdir}/linuxmint-Cinnamon*
@@ -44,13 +48,19 @@ build() {
# Fix Keyboard applet
# https://github.com/linuxmint/Cinnamon/issues/1337
- patch -Np1 -i ${srcdir}/keyboard_applet.patch
+ patch -Np1 -i ../keyboard_applet.patch
# Check for the cc-panel path, not for the unneeded binary
- patch -Np1 -i ${srcdir}/fix-control-center-check.patch
+ patch -Np1 -i ../fix-control-center-check.patch
# https://github.com/linuxmint/Cinnamon/pull/1888
- patch -Np1 -i ${srcdir}/gnome-3.8.patch
+ patch -Np1 -i ../gnome-3.8.patch
+
+ # Fix windows switcher keybinding with default settings in GNOME 3.8
+ patch -Np1 -i ../switch-applications.patch
+
+ # Start media keys and mount helpers with the session
+ patch -Np1 -i ../fallback-helpers.patch
./autogen.sh --prefix=/usr \
--sysconfdir=/etc \
diff --git a/community/cinnamon/fallback-helpers.patch b/community/cinnamon/fallback-helpers.patch
new file mode 100644
index 000000000..6fe318bd9
--- /dev/null
+++ b/community/cinnamon/fallback-helpers.patch
@@ -0,0 +1,21 @@
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon2d.session linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon2d.session
+--- linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon2d.session 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon2d.session 2013-04-25 01:30:35.435650613 +0200
+@@ -1,5 +1,5 @@
+ [GNOME Session]
+ Name=Cinnamon 2D
+-RequiredComponents=cinnamon2d;gnome-settings-daemon;
++RequiredComponents=cinnamon2d;gnome-settings-daemon;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper;
+ DesktopName=GNOME
+
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon.session linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon.session
+--- linuxmint-Cinnamon-b41bad0.orig/files/usr/share/gnome-session/sessions/cinnamon.session 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/files/usr/share/gnome-session/sessions/cinnamon.session 2013-04-25 01:30:33.645607769 +0200
+@@ -1,6 +1,6 @@
+ [GNOME Session]
+ Name=Cinnamon
+-RequiredComponents=cinnamon;gnome-settings-daemon;
++RequiredComponents=cinnamon;gnome-settings-daemon;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper;
+ IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
+ FallbackSession=cinnamon2d
+ DesktopName=GNOME
diff --git a/community/cinnamon/switch-applications.patch b/community/cinnamon/switch-applications.patch
new file mode 100644
index 000000000..ce2e31825
--- /dev/null
+++ b/community/cinnamon/switch-applications.patch
@@ -0,0 +1,55 @@
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py linuxmint-Cinnamon-b41bad0/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py
+--- linuxmint-Cinnamon-b41bad0.orig/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/files/usr/lib/cinnamon-settings/modules/cs_keyboard.py 2013-04-24 21:19:49.262020614 +0200
+@@ -43,8 +43,8 @@
+ # Cinnamon stuff
+ [_("Toggle Scale"), "org.gnome.desktop.wm.keybindings", "switch-to-workspace-down", True, "cinnamon"],
+ [_("Toggle Expo"), "org.gnome.desktop.wm.keybindings", "switch-to-workspace-up", True, "cinnamon"],
+- [_("Cycle through open windows"), "org.gnome.desktop.wm.keybindings", "switch-windows", True, "cinnamon"],
+- [_("Cycle backwards though open windows"), "org.gnome.desktop.wm.keybindings", "switch-windows-backward", True, "cinnamon"],
++ [_("Cycle through open windows"), "org.gnome.desktop.wm.keybindings", "switch-applications", True, "cinnamon"],
++ [_("Cycle backwards though open windows"), "org.gnome.desktop.wm.keybindings", "switch-applications-backward", True, "cinnamon"],
+ [_("Run dialog (must restart Cinnamon)"), "org.gnome.desktop.wm.keybindings", "panel-run-dialog", True, "cinnamon"],
+ [_("Menu button (must restart Cinnamon)"), "org.cinnamon.muffin", "overlay-key", False, "cinnamon"],
+
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/js/ui/altTab.js linuxmint-Cinnamon-b41bad0/js/ui/altTab.js
+--- linuxmint-Cinnamon-b41bad0.orig/js/ui/altTab.js 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/js/ui/altTab.js 2013-04-24 21:22:38.309568355 +0200
+@@ -203,9 +203,9 @@
+ }
+ } else if (binding == 'switch-group-backward') {
+ this._select(0, this._appIcons[0].cachedWindows.length - 1);
+- } else if (binding == 'switch-windows-backward') {
++ } else if (binding == 'switch-applications-backward') {
+ this._select(this._appIcons.length - 1);
+- } else if (binding == 'no-switch-windows') {
++ } else if (binding == 'no-switch-applications') {
+ this._select(0);
+ } else if (this._appIcons.length == 1) {
+ this._select(0);
+@@ -296,7 +296,7 @@
+ return false;
+ }
+ Main.wm.showWorkspaceOSD();
+- that.refresh('no-switch-windows');
++ that.refresh('no-switch-applications');
+ return true;
+ };
+ let keysym = event.get_key_symbol();
+diff -Naur linuxmint-Cinnamon-b41bad0.orig/js/ui/windowManager.js linuxmint-Cinnamon-b41bad0/js/ui/windowManager.js
+--- linuxmint-Cinnamon-b41bad0.orig/js/ui/windowManager.js 2013-04-15 15:55:01.000000000 +0200
++++ linuxmint-Cinnamon-b41bad0/js/ui/windowManager.js 2013-04-24 21:21:22.447677094 +0200
+@@ -131,11 +131,11 @@
+ Lang.bind(this, this._showWorkspaceSwitcher));
+ Meta.keybindings_set_custom_handler('switch-to-workspace-down',
+ Lang.bind(this, this._showWorkspaceSwitcher));
+- Meta.keybindings_set_custom_handler('switch-windows',
++ Meta.keybindings_set_custom_handler('switch-applications',
+ Lang.bind(this, this._startAppSwitcher));
+ Meta.keybindings_set_custom_handler('switch-group',
+ Lang.bind(this, this._startAppSwitcher));
+- Meta.keybindings_set_custom_handler('switch-windows-backward',
++ Meta.keybindings_set_custom_handler('switch-applications-backward',
+ Lang.bind(this, this._startAppSwitcher));
+ Meta.keybindings_set_custom_handler('switch-group-backward',
+ Lang.bind(this, this._startAppSwitcher));
diff --git a/community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch b/community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch
index 2c90a9fe2..92f317cea 100644
--- a/community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch
+++ b/community/gnome-panel/0001-Add-the-GNOME-Flashback-session.patch
@@ -76,7 +76,7 @@ index 0000000..c012c58
@@ -0,0 +1,3 @@
+[GNOME Session]
+_Name=GNOME Flashback
-+RequiredComponents=gnome-panel;gnome-settings-daemon;gnome-screensaver;metacity;nautilus-classic;notification-daemon;
++RequiredComponents=gnome-panel;gnome-settings-daemon;gnome-screensaver;metacity;nautilus-classic;notification-daemon;gnome-fallback-background-helper;gnome-fallback-media-keys-helper;gnome-fallback-mount-helper;
diff --git a/po/POTFILES.in b/po/POTFILES.in
index bc65c4c..a6aa6c7 100644
--- a/po/POTFILES.in
diff --git a/community/gnome-panel/PKGBUILD b/community/gnome-panel/PKGBUILD
index a287972a4..e173e3492 100644
--- a/community/gnome-panel/PKGBUILD
+++ b/community/gnome-panel/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 88822 2013-04-23 02:28:34Z bgyorgy $
+# $Id: PKGBUILD 88932 2013-04-24 22:25:52Z bgyorgy $
# Maintainer: Balló György
# Contributor: Jan de Groot
pkgbase=gnome-panel
pkgname=('gnome-panel' 'gnome-flashback-session')
pkgver=3.6.2
-pkgrel=4
+pkgrel=5
arch=('i686' 'x86_64')
license=('GPL')
pkgdesc="Legacy GNOME panel"
@@ -25,7 +25,7 @@ sha256sums=('a41c45c5512e796b8602ce50bf0d205993eab364c860aae31afa582d77b77079'
'3a67f4b07a7dd356fad6b40a43983f3945123ed40080eb153396a481b34efc0c'
'e3298c62bc577969817c5d6752be83a5129004fd344e4f7998a0d8aa61874305'
'9d742f675d9e09a032bfe00e0523a4ef7e234589a74a6086243bf335ce212775'
- 'f313791d246749f18764ad4af13c4efe54483bc327fab371c47f9fbfc25b20a9'
+ '9db0d1dadd2183777ed39e84caca1096a857897bbcf0e18ad599996dd397f1e0'
'6828c097505d2dbbf465ed7ff694adbd646a0af2105c8dd864d1061bf0afea71')
build() {
diff --git a/community/gnome-settings-daemon-compat/PKGBUILD b/community/gnome-settings-daemon-compat/PKGBUILD
index 108f1ab5a..8c2ae9f43 100644
--- a/community/gnome-settings-daemon-compat/PKGBUILD
+++ b/community/gnome-settings-daemon-compat/PKGBUILD
@@ -1,16 +1,16 @@
-# $Id: PKGBUILD 88858 2013-04-24 12:55:15Z bgyorgy $
+# $Id: PKGBUILD 88930 2013-04-24 22:24:31Z bgyorgy $
# Maintainer: Balló György
# Contributor: Jan Alexander Steffens (heftig)
pkgname=gnome-settings-daemon-compat
_pkgname=gnome-settings-daemon
pkgver=3.6.4
-pkgrel=2
-pkgdesc="Compatibility package that provides background and mount helpers for the Gnome Flashback session"
+pkgrel=3
+pkgdesc="Compatibility package that provides background, media keys and mount helpers for the Gnome Flashback session"
arch=('i686' 'x86_64')
license=('GPL')
depends=('gnome-settings-daemon')
-makedepends=('docbook-xsl' 'ibus' 'intltool' 'libcanberra' 'libnotify' 'libpulse' 'libwacom' 'nss' 'upower' 'xf86-input-wacom')
+makedepends=('docbook-xsl' 'intltool' 'xf86-input-wacom')
url="https://live.gnome.org/GnomeFlashback"
source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-$pkgver.tar.xz
standalone-background-helper.patch
@@ -19,17 +19,17 @@ source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver%.*}/$_pkgname-
sessionisactive-port.patch
revert-input-sources.patch
xinput.patch
- flashback-rename.patch
- remove-libgsd-dependency.patch)
+ remove-libgsd-dependency.patch
+ move-desktop-file.patch)
sha256sums=('3db993f2dbabc0c9d06a309bb12c9a7104b9cdda414ac4b1c301f5114a441c15'
- 'f9781a17d7baa2777b16fa2c71fb6053612131cffcfffcc635d49f9dacb1e637'
- '4776de33b1517976b308a9ce23661cd0ac68ddd2bcf41465c73f8a2e2d09d20c'
+ '2e7e40175533556493bb58795a2c1b4e53b4baba35d151e632b933c6077456d9'
+ 'ddc4dfaa8083ff24a7d2fb6138b8c3fee5d4e6c60c24b4e80a39392d0c8f2162'
'1b6b8216434b766e1389e876cba5d6ab61498c5824f6d2cc5d67dcf58a07842a'
'0821f469cd168f3a131da513a5f9dd352c06f9bc31d57d79de4dc063fa2de915'
'02da2467e287620c3b717c7ff5ffea7403cce714d5aa32e27d051b6571451e2a'
'fe8cafee074e36a7a393c9ae7f65db1c13a0959213aaae94ab8a3543bf20a25d'
- '1edabf1a5a56d4b797ccdb7d5003bad396eebe98541d5aa330c9851340b68dfe'
- '730f11d5689892fbab9aa2896f3720e813d17e2455f34fd3a0751e49f5b4c26c')
+ '730f11d5689892fbab9aa2896f3720e813d17e2455f34fd3a0751e49f5b4c26c'
+ 'c58ace67581a1e14dc21efc8d22dd1f385cd05483d67e8a385b0767a8daf9fb4')
build() {
cd $_pkgname-$pkgver
@@ -51,8 +51,8 @@ build() {
# Remove libgsd dependency
patch -Np1 -i ../remove-libgsd-dependency.patch
- # GNOME Fallback renamed to Flashback
- patch -Np1 -i ../flashback-rename.patch
+ # Move desktop files out of autostart, so they can be easily reusable in custom sessions
+ patch -Np1 -i ../move-desktop-file.patch
autoreconf -fi
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib/$_pkgname \
diff --git a/community/gnome-settings-daemon-compat/flashback-rename.patch b/community/gnome-settings-daemon-compat/flashback-rename.patch
deleted file mode 100644
index 8f3816bef..000000000
--- a/community/gnome-settings-daemon-compat/flashback-rename.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in
---- gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-01-10 14:37:58.000000000 +0100
-+++ gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-04-24 14:34:43.743878119 +0200
-@@ -9,4 +9,4 @@
- NoDisplay=true
- OnlyShowIn=GNOME;Unity;
- X-GNOME-Autostart-Notify=true
--AutostartCondition=GNOME3 if-session gnome-fallback
-+AutostartCondition=GNOME3 if-session gnome-flashback
-diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in
---- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 14:32:47.290988000 +0200
-+++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 14:34:43.743878119 +0200
-@@ -9,4 +9,4 @@
- NoDisplay=true
- OnlyShowIn=GNOME;Unity;
- X-GNOME-Autostart-Notify=true
--AutostartCondition=GNOME3 if-session gnome-fallback
-+AutostartCondition=GNOME3 if-session gnome-flashback
-diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
---- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 14:32:52.807791000 +0200
-+++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 14:35:16.714696636 +0200
-@@ -9,4 +9,4 @@
- NoDisplay=true
- OnlyShowIn=GNOME;Unity;
- X-GNOME-Autostart-Notify=true
--AutostartCondition=GNOME3 if-session gnome-fallback
-+AutostartCondition=GNOME3 if-session gnome-flashback
diff --git a/community/gnome-settings-daemon-compat/move-desktop-file.patch b/community/gnome-settings-daemon-compat/move-desktop-file.patch
new file mode 100644
index 000000000..fe9272767
--- /dev/null
+++ b/community/gnome-settings-daemon-compat/move-desktop-file.patch
@@ -0,0 +1,60 @@
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-04-24 23:13:10.169941000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/automount/gnome-fallback-mount-helper.desktop.in.in 2013-04-24 23:13:41.064001562 +0200
+@@ -9,4 +9,3 @@
+ NoDisplay=true
+ OnlyShowIn=GNOME;Unity;
+ X-GNOME-Autostart-Notify=true
+-AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/automount/Makefile.am gnome-settings-daemon-3.6.4/plugins/automount/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/automount/Makefile.am 2013-04-24 23:13:12.830004000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/automount/Makefile.am 2013-04-24 23:13:36.613896914 +0200
+@@ -21,7 +21,7 @@
+ $(SYSTEMD_LIBS) \
+ $(AUTOMOUNT_LIBS)
+
+-autostartdir = $(sysconfdir)/xdg/autostart
++autostartdir = $(datadir)/applications
+ autostart_in_files = gnome-fallback-mount-helper.desktop.in
+ autostart_in_in_files = gnome-fallback-mount-helper.desktop.in.in
+ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 23:13:07.229872000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-24 23:13:43.670729520 +0200
+@@ -9,4 +9,3 @@
+ NoDisplay=true
+ OnlyShowIn=GNOME;Unity;
+ X-GNOME-Autostart-Notify=true
+-AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am gnome-settings-daemon-3.6.4/plugins/background/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/background/Makefile.am 2013-04-24 23:13:04.913151000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/background/Makefile.am 2013-04-24 23:13:47.907495798 +0200
+@@ -17,7 +17,7 @@
+ $(SETTINGS_PLUGIN_LIBS) \
+ $(BACKGROUND_LIBS)
+
+-autostartdir = $(sysconfdir)/xdg/autostart
++autostartdir = $(datadir)/applications
+ autostart_in_files = gnome-fallback-background-helper.desktop.in
+ autostart_in_in_files = gnome-fallback-background-helper.desktop.in.in
+ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 23:12:58.579668000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/gnome-fallback-media-keys-helper.desktop.in.in 2013-04-24 23:13:51.747586073 +0200
+@@ -9,4 +9,3 @@
+ NoDisplay=true
+ OnlyShowIn=GNOME;Unity;
+ X-GNOME-Autostart-Notify=true
+-AutostartCondition=GNOME3 if-session gnome-fallback
+diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am
+--- gnome-settings-daemon-3.6.4.orig/plugins/media-keys/Makefile.am 2013-04-24 23:13:02.026416000 +0200
++++ gnome-settings-daemon-3.6.4/plugins/media-keys/Makefile.am 2013-04-24 23:13:54.570985777 +0200
+@@ -75,7 +75,7 @@
+ $(MEDIA_KEYS_LIBS) \
+ -lm
+
+-autostartdir = $(sysconfdir)/xdg/autostart
++autostartdir = $(datadir)/applications
+ autostart_in_files = gnome-fallback-media-keys-helper.desktop.in
+ autostart_in_in_files = gnome-fallback-media-keys-helper.desktop.in.in
+ autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
diff --git a/community/gnome-settings-daemon-compat/standalone-background-helper.patch b/community/gnome-settings-daemon-compat/standalone-background-helper.patch
index 884f3031e..b52de042f 100644
--- a/community/gnome-settings-daemon-compat/standalone-background-helper.patch
+++ b/community/gnome-settings-daemon-compat/standalone-background-helper.patch
@@ -114,8 +114,8 @@ diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/background/gnome-fallback-ba
+++ gnome-settings-daemon-3.6.4/plugins/background/gnome-fallback-background-helper.desktop.in.in 2013-04-10 17:39:36.450215685 +0200
@@ -0,0 +1,12 @@
+[Desktop Entry]
-+_Name=Background Helper
-+_Comment=Draw desktop background
++_Name=Background
++_Comment=Background plugin
+Exec=@LIBEXECDIR@/gnome-fallback-background-helper
+Icon=desktop
+Terminal=false
diff --git a/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch b/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
index dec5ff3e8..61be1737e 100644
--- a/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
+++ b/community/gnome-settings-daemon-compat/standalone-media-keys-helper.patch
@@ -84,9 +84,9 @@ diff -Naur gnome-settings-daemon-3.6.4.orig/plugins/media-keys/gnome-fallback-me
@@ -0,0 +1,12 @@
+[Desktop Entry]
+_Name=Media keys
-+_Comment=Handle media keys
++_Comment=Media keys plugin
+Exec=@LIBEXECDIR@/gnome-fallback-media-keys-helper
-+Icon=drive-optical
++Icon=multimedia
+Terminal=false
+Type=Application
+Categories=
diff --git a/community/haskell-pcre-light/PKGBUILD b/community/haskell-pcre-light/PKGBUILD
index 56ccb9c8c..9e6b83de1 100644
--- a/community/haskell-pcre-light/PKGBUILD
+++ b/community/haskell-pcre-light/PKGBUILD
@@ -3,7 +3,7 @@
_hkgname=pcre-light
pkgname=haskell-pcre-light
pkgver=0.4
-pkgrel=20
+pkgrel=21
pkgdesc="A small, efficient and portable regex library for Perl 5 compatible regular expressions"
url="http://code.haskell.org/~dons/code/pcre-light"
license=(custom:BSD3)
diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD
index fca931cac..ec7ab49e5 100644
--- a/community/nginx/PKGBUILD
+++ b/community/nginx/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 88886 2013-04-24 15:32:13Z bpiotrowski $
+# $Id: PKGBUILD 88940 2013-04-25 04:37:43Z bpiotrowski $
# Maintainer: Sergej Pupykin
# Maintainer: Bartłomiej Piotrowski
# Contributor: Miroslaw Szot
@@ -8,7 +8,7 @@ _tmpdir=/var/lib/nginx
pkgname=nginx
pkgver=1.4.0
-pkgrel=1
+pkgrel=2
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
arch=('i686' 'x86_64')
depends=('pcre' 'zlib' 'openssl' 'geoip')
@@ -55,8 +55,10 @@ build() {
--with-file-aio \
--with-http_dav_module \
--with-http_geoip_module \
+ --with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_realip_module \
+ --with-http_spdy_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--add-module=/usr/lib/passenger/ext/nginx \
diff --git a/extra/java7-openjdk/PKGBUILD b/extra/java7-openjdk/PKGBUILD
index 661a3099e..b73b5eedc 100644
--- a/extra/java7-openjdk/PKGBUILD
+++ b/extra/java7-openjdk/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 183538 2013-04-22 17:24:27Z andyrtr $
+# $Id: PKGBUILD 183615 2013-04-25 15:56:01Z andyrtr $
# Maintainer: Andreas Radke
# Maintainer: Guillaume ALAUX
# Contributor: Jan de Groot
@@ -7,7 +7,7 @@ pkgname=('jre7-openjdk-headless' 'jre7-openjdk' 'jdk7-openjdk'
'openjdk7-src' 'openjdk7-doc')
pkgbase=java7-openjdk
_java_ver=7
-_updatever=u17
+_updatever=u21
_icedtea_ver=2.3.9
# check "${srcdir}/icedtea7"/Makefile.am
diff --git a/extra/js/PKGBUILD b/extra/js/PKGBUILD
index 7671edddf..98c2e71ed 100644
--- a/extra/js/PKGBUILD
+++ b/extra/js/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 183424 2013-04-21 22:11:07Z heftig $
+# $Id: PKGBUILD 183636 2013-04-25 18:14:18Z ioni $
# Maintainer: Ionut Biru
pkgname=js
@@ -15,6 +15,7 @@ source=(http://ftp.mozilla.org/pub/mozilla.org/js/mozjs$pkgver.tar.gz)
md5sums=('20b6f8f1140ef6e47daa3b16965c9202')
build() {
+ unset CPPFLAGS
cd mozjs$pkgver/js/src
./configure --prefix=/usr --with-system-nspr --with-system-ffi \
--enable-readline --enable-threadsafe
diff --git a/extra/libdmapsharing/PKGBUILD b/extra/libdmapsharing/PKGBUILD
index b3a23ab6c..3e5f2ecf8 100644
--- a/extra/libdmapsharing/PKGBUILD
+++ b/extra/libdmapsharing/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 175982 2013-01-25 15:12:09Z ioni $
+# $Id: PKGBUILD 183628 2013-04-25 17:51:21Z ioni $
#Maintainer: Ionut Biru
pkgname=libdmapsharing
-pkgver=2.9.16
+pkgver=2.9.17
pkgrel=1
pkgdesc="A library that implements the DMAP family of protocols"
arch=('i686' 'x86_64')
@@ -11,7 +11,7 @@ license=('LGPL2.1')
depends=('libsoup' 'avahi' 'gst-plugins-base-libs' 'gdk-pixbuf2')
options=('!libtool')
source=(http://www.flyn.org/projects/libdmapsharing/$pkgname-$pkgver.tar.gz)
-md5sums=('5b2fbf46efc95a503ed95094c72b34d2')
+md5sums=('089e70ed4fb3b92dcd956b80dbf3ffc9')
build() {
cd $pkgname-$pkgver
diff --git a/extra/libdrm/PKGBUILD b/extra/libdrm/PKGBUILD
index 60579b81f..f44b8e380 100644
--- a/extra/libdrm/PKGBUILD
+++ b/extra/libdrm/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 183277 2013-04-20 14:43:33Z andyrtr $
+# $Id: PKGBUILD 183612 2013-04-25 11:57:24Z jgc $
# Maintainer: Jan de Groot
pkgname=libdrm
pkgver=2.4.44
-pkgrel=1
+pkgrel=2
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
license=('custom')
@@ -25,11 +25,7 @@ build() {
#libtoolize --force
autoreconf --force --install
- ./configure --prefix=/usr \
- --enable-udev \
- --enable-omap-experimental-api \
- --enable-exynos-experimental-api \
- --enable-freedreno-experimental-api
+ ./configure --prefix=/usr --enable-udev
make
}
diff --git a/extra/libdrm/git_fixes.diff b/extra/libdrm/git_fixes.diff
deleted file mode 100644
index fe0bb5649..000000000
--- a/extra/libdrm/git_fixes.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-From 99105e765c31b598746b849e66e7a9106dcefa24 Mon Sep 17 00:00:00 2001
-From: Maarten Lankhorst
-Date: Wed, 27 Mar 2013 13:06:43 +0000
-Subject: makefiles: Add missing headers.
-
-I even compile time tested this on a panda with make dist!
-
-Signed-off-by: Maarten Lankhorst
----
-diff --git a/exynos/Makefile.am b/exynos/Makefile.am
-index 539aea0..0a2663a 100644
---- a/exynos/Makefile.am
-+++ b/exynos/Makefile.am
-@@ -10,7 +10,11 @@ libdrm_exynos_ladir = $(libdir)
- libdrm_exynos_la_LDFLAGS = -version-number 1:0:0 -no-undefined
- libdrm_exynos_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-
--libdrm_exynos_la_SOURCES = exynos_drm.c exynos_fimg2d.c
-+libdrm_exynos_la_SOURCES = \
-+ exynos_drm.c \
-+ exynos_fimg2d.c \
-+ fimg2d.h \
-+ fimg2d_reg.h
-
- libdrm_exynoscommonincludedir = ${includedir}/exynos
- libdrm_exynoscommoninclude_HEADERS = exynos_drm.h
-diff --git a/freedreno/Makefile.am b/freedreno/Makefile.am
-index f46a780..ba9bd68 100644
---- a/freedreno/Makefile.am
-+++ b/freedreno/Makefile.am
-@@ -10,7 +10,15 @@ libdrm_freedreno_ladir = $(libdir)
- libdrm_freedreno_la_LDFLAGS = -version-number 1:0:0 -no-undefined
- libdrm_freedreno_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-
--libdrm_freedreno_la_SOURCES = freedreno_device.c freedreno_pipe.c freedreno_ringbuffer.c freedreno_bo.c
-+libdrm_freedreno_la_SOURCES = \
-+ freedreno_device.c \
-+ freedreno_pipe.c \
-+ freedreno_priv.h \
-+ freedreno_ringbuffer.c \
-+ freedreno_bo.c \
-+ kgsl_drm.h \
-+ list.h \
-+ msm_kgsl.h
-
- libdrm_freedrenocommonincludedir = ${includedir}/freedreno
- libdrm_freedrenocommoninclude_HEADERS = freedreno_drmif.h freedreno_ringbuffer.h
---
-cgit v0.9.0.2-2-gbebe
diff --git a/extra/libgusb/PKGBUILD b/extra/libgusb/PKGBUILD
index 0cf8084de..e7441b516 100644
--- a/extra/libgusb/PKGBUILD
+++ b/extra/libgusb/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 170681 2012-11-09 12:30:03Z jgc $
+# $Id: PKGBUILD 183627 2013-04-25 17:50:55Z ioni $
# Maintainer: Ionut Biru
pkgname=libgusb
-pkgver=0.1.4
+pkgver=0.1.6
pkgrel=1
pkgdesc="GLib wrapper around libusb1"
arch=('i686' 'x86_64')
@@ -12,16 +12,16 @@ depends=('udev' 'libusbx')
makedepends=('gobject-introspection')
source=(http://people.freedesktop.org/~hughsient/releases/$pkgname-$pkgver.tar.xz)
options=('!libtool')
-sha256sums=('64294a649e54df2009545f47577f41438ec50c2fc571dd7b08cf32cb14de37b9')
+sha256sums=('900103ff24a851ef8395b992236ced0aedb4c265ef2264f6ad8349300095198b')
build() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
./configure --prefix=/usr --disable-static
make
}
package() {
- cd "$srcdir/$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
diff --git a/extra/libnice/PKGBUILD b/extra/libnice/PKGBUILD
index 05890543b..ba09e3f27 100644
--- a/extra/libnice/PKGBUILD
+++ b/extra/libnice/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: William Díaz
pkgname=libnice
-pkgver=0.1.3
+pkgver=0.1.4
pkgrel=1
pkgdesc="An implementation of the IETF's draft ICE (for p2p UDP data streams)"
arch=('i686' 'x86_64')
@@ -14,15 +14,15 @@ makedepends=('gstreamer' 'gstreamer0.10')
optdepends=('gstreamer' 'gstreamer0.10')
options=('!libtool')
source=(http://nice.freedesktop.org/releases/$pkgname-$pkgver.tar.gz)
+md5sums=('315c457b092980a4a9a0bea9f0723cce')
build() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
./configure --prefix=/usr --disable-static
make
}
package() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}
-md5sums=('1a0907605f852dcda32a3b3daf38d36c')
diff --git a/extra/modemmanager/PKGBUILD b/extra/modemmanager/PKGBUILD
index d47b9bff3..95c48d2c7 100644
--- a/extra/modemmanager/PKGBUILD
+++ b/extra/modemmanager/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 183443 2013-04-21 22:11:41Z heftig $
+# $Id: PKGBUILD 183639 2013-04-25 18:36:08Z heftig $
# Maintainer: Ionut Biru
# Contributor: Jan Alexander Steffens (heftig)
pkgname=modemmanager
_realname=ModemManager
pkgver=0.7.990
-pkgrel=3
+pkgrel=4
pkgdesc="Mobile broadband modem management service"
arch=(i686 x86_64)
url="http://cgit.freedesktop.org/ModemManager/ModemManager/"
@@ -16,7 +16,7 @@ optdepends=('usb_modeswitch: install if your modem shows up as a storage drive')
options=('!libtool')
install=modemmanager.install
#source=(http://download.gnome.org/sources/$_realname/${pkgver::3}/$_realname-$pkgver.tar.xz)
-source=("git://anongit.freedesktop.org/$_realname/$_realname#commit=95274bf")
+source=("git://anongit.freedesktop.org/$_realname/$_realname#commit=135bec6")
sha256sums=('SKIP')
build() {
diff --git a/extra/mysql/PKGBUILD b/extra/mysql/PKGBUILD
deleted file mode 100644
index 9ea78cd32..000000000
--- a/extra/mysql/PKGBUILD
+++ /dev/null
@@ -1,137 +0,0 @@
-# $Id: PKGBUILD 180684 2013-03-25 19:15:35Z bpiotrowski $
-# Maintainer: Andrea Scarpino
-# Contributor: Douglas Soares de Andrade
-
-pkgbase=mysql
-pkgname=('libmysqlclient' 'mysql-clients' 'mysql')
-pkgver=5.5.30
-pkgrel=7
-arch=('i686' 'x86_64')
-license=('GPL')
-url="https://www.mysql.com/products/community/"
-makedepends=('cmake' 'openssl' 'zlib')
-options=('!libtool')
-source=(http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.5/${pkgbase}-${pkgver}.tar.gz{,.asc}
- mysqld-post.sh
- mysqld-tmpfile.conf
- mysqld.service)
-sha256sums=('909fe596e0044082a02d2757b742a33b8a3ff399b589603940494d3d3d975053'
- '27d3bba7b7f54f9f77cddba81a3fe124aeef918cc09eb28860338e9a4359e6f7'
- '368f9fd2454d80eb32abb8f29f703d1cf9553353fb9e1ae4529c4b851cb8c5dd'
- '2af318c52ae0fe5428e8a9245d1b0fc3bc5ce153842d1563329ceb1edfa83ddd'
- '50212165bdb09855b97b15a917464ba34f82edf30a0c43f9a0c93a27071df556')
-
-build() {
- mkdir build
- cd build
-
- cmake ../${pkgbase}-${pkgver} \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DSYSCONFDIR=/etc/mysql \
- -DMYSQL_DATADIR=/var/lib/mysql \
- -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DENABLED_LOCAL_INFILE=ON \
- -DINSTALL_INFODIR=share/mysql/docs \
- -DINSTALL_MANDIR=share/man \
- -DINSTALL_PLUGINDIR=lib/mysql/plugin \
- -DINSTALL_SCRIPTDIR=bin \
- -DINSTALL_INCLUDEDIR=include/mysql \
- -DINSTALL_DOCREADMEDIR=share/mysql \
- -DINSTALL_SUPPORTFILESDIR=share/mysql \
- -DINSTALL_MYSQLSHAREDIR=share/mysql \
- -DINSTALL_DOCDIR=share/mysql/docs \
- -DINSTALL_SHAREDIR=share/mysql \
- -DWITH_READLINE=ON \
- -DWITH_ZLIB=system \
- -DWITH_SSL=system \
- -DWITH_LIBWRAP=OFF \
- -DWITH_MYSQLD_LDFLAGS="${LDFLAGS}" \
- -DWITH_EXTRA_CHARSETS=complex \
- -DWITH_EMBEDDED_SERVER=ON \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_PARTITION_STORAGE_ENGINE=1 \
- -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
- -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
- -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 \
- -DCMAKE_C_FLAGS="-fPIC ${CFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -fomit-frame-pointer" \
- -DCMAKE_CXX_FLAGS="-fPIC ${CXXFLAGS} -fno-strict-aliasing -DBIG_JOINS=1 -felide-constructors -fno-rtti"
-
- make
-}
-
-package_libmysqlclient(){
- pkgdesc="MySQL client libraries"
- depends=('openssl')
- conflicts=('libmariadbclient')
- provides=("libmariadbclient=$pkgver")
-
- cd build
- for dir in include libmysql libmysqld libservices; do
- make -C ${dir} DESTDIR="${pkgdir}" install
- done
-
- install -d "${pkgdir}"/usr/bin
- install -m755 scripts/mysql_config "${pkgdir}"/usr/bin/
- install -d "${pkgdir}"/usr/share/man/man1
- for man in mysql_config mysql_client_test_embedded mysqltest_embedded; do
- install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
- done
-}
-
-package_mysql-clients(){
- pkgdesc="MySQL client tools"
- depends=('libmysqlclient')
- conflicts=('mariadb-clients')
- provides=("mariadb-clients=$pkgver")
-
- cd build
- make -C client DESTDIR="${pkgdir}" install
-
- # install man pages
- install -d "${pkgdir}"/usr/share/man/man1
- for man in mysql mysqladmin mysqlcheck mysqldump mysqlimport mysqlshow mysqlslap; do
- install -m644 "${srcdir}"/${pkgbase}-${pkgver}/man/$man.1 "${pkgdir}"/usr/share/man/man1/$man.1
- done
-
- # provided by mysql
- rm "${pkgdir}"/usr/bin/{mysql_{plugin,upgrade},mysqlbinlog,mysqltest}
-}
-
-package_mysql(){
- pkgdesc="A fast SQL database server"
- backup=('etc/mysql/my.cnf')
- install=mysql.install
- depends=('mysql-clients' 'systemd-tools')
- conflicts=('mariadb')
- provides=("mariadb=$pkgver")
- options=('emptydirs')
-
- cd build
- make DESTDIR="${pkgdir}" install
-
- install -Dm644 "${pkgdir}"/usr/share/mysql/my-medium.cnf "${pkgdir}"/etc/mysql/my.cnf
- install -Dm755 "${srcdir}"/mysqld-post.sh "${pkgdir}"/usr/bin/mysqld-post
- install -Dm644 "${srcdir}"/mysqld-tmpfile.conf "${pkgdir}"/usr/lib/tmpfiles.d/mysqld.conf
- install -d "${pkgdir}"/usr/lib/systemd/system
- install -Dm644 "${srcdir}"/mysqld.service "${pkgdir}"/usr/lib/systemd/system/
-
- # provided by libmysqlclient
- rm "${pkgdir}"/usr/bin/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}
- rm "${pkgdir}"/usr/lib/libmysql*
- rm -r "${pkgdir}"/usr/include/
- rm "${pkgdir}"/usr/share/man/man1/{mysql_config,mysql_client_test_embedded,mysqltest_embedded}.1
-
- # provided by mysql-clients
- rm "${pkgdir}"/usr/bin/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}
- rm "${pkgdir}"/usr/share/man/man1/{mysql,mysqladmin,mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap}.1
-
- # not needed
- rm -r "${pkgdir}"/usr/{data,mysql-test,sql-bench}
- rm "${pkgdir}"/usr/share/man/man1/mysql-test-run.pl.1
-
- #install -dm700 "${pkgdir}"/var/lib/mysql
-}
diff --git a/extra/mysql/mysql.install b/extra/mysql/mysql.install
deleted file mode 100644
index 907e98656..000000000
--- a/extra/mysql/mysql.install
+++ /dev/null
@@ -1,37 +0,0 @@
-if [[ $(command -v my_print_defaults >/dev/null 2>&1) ]]; then
- datadir=$(my_print_defaults mysqld | sed -n "s/^--datadir=//p")
-fi
-[[ -z $datadir ]] && datadir=/var/lib/mysql
-
-post_install(){
- groupadd -g 89 mysql &>/dev/null
- useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null
-
- if [[ ! -e $datadir ]]; then
- install -dm700 $datadir
- usr/bin/mysql_install_db --user=mysql --basedir=/usr --datadir=$datadir
- chown -R mysql:mysql var/lib/mysql &>/dev/null
- fi
-
- usr/bin/systemd-tmpfiles --create mysqld.conf
-}
-
-post_upgrade(){
- getent group mysql >/dev/null 2>&1 || groupadd -g 89 mysql &>/dev/null
- getent passwd mysql >/dev/null 2>&1 || useradd -u 89 -g mysql -d $datadir -s /bin/false mysql &>/dev/null
-
- if [ "$(vercmp $2 5.5)" -lt 0 ]; then
- echo " >> "
- echo " >> Major version update. Consider restart the service, and then running mysql_upgrade after it."
- echo " >> "
- fi
-}
-
-post_remove(){
- if getent passwd mysql >/dev/null 2>&1; then
- userdel mysql
- fi
- if getent group mysql >/dev/null 2>&1; then
- groupdel mysql
- fi
-}
diff --git a/extra/mysql/mysqld-post.sh b/extra/mysql/mysqld-post.sh
deleted file mode 100755
index c4ac18171..000000000
--- a/extra/mysql/mysqld-post.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-while true; do
- response=$(/usr/bin/mysqladmin -uUNKNOWN_USER ping 2>&1) && break
- echo "$response" | grep -q "mysqld is alive" && break
- echo "$response" | grep -q "Access denied for user" && break
- sleep 1
-done
diff --git a/extra/mysql/mysqld-tmpfile.conf b/extra/mysql/mysqld-tmpfile.conf
deleted file mode 100644
index 6883dc798..000000000
--- a/extra/mysql/mysqld-tmpfile.conf
+++ /dev/null
@@ -1 +0,0 @@
-d /run/mysqld 0755 mysql mysql -
diff --git a/extra/mysql/mysqld.service b/extra/mysql/mysqld.service
deleted file mode 100644
index a6fc8cf88..000000000
--- a/extra/mysql/mysqld.service
+++ /dev/null
@@ -1,16 +0,0 @@
-[Unit]
-Description=MySQL database server
-After=syslog.target
-
-[Service]
-User=mysql
-Group=mysql
-
-ExecStart=/usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid
-ExecStartPost=/usr/bin/mysqld-post
-
-Restart=always
-PrivateTmp=true
-
-[Install]
-WantedBy=multi-user.target
diff --git a/extra/telepathy-glib/PKGBUILD b/extra/telepathy-glib/PKGBUILD
index 49b381193..51121e855 100644
--- a/extra/telepathy-glib/PKGBUILD
+++ b/extra/telepathy-glib/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 170731 2012-11-10 15:25:09Z ibiru $
+# $Id: PKGBUILD 183617 2013-04-25 16:40:37Z ioni $
# Maintainer: Ionut Biru
# Contributor: Kessia 'even' Pinheiro
pkgname=telepathy-glib
-pkgver=0.20.1
+pkgver=0.20.2
pkgrel=1
pkgdesc="GLib bindings for the Telepathy D-Bus protocol"
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ options=('!libtool' '!emptydirs')
depends=('dbus-glib')
makedepends=('libxslt' 'vala' 'gobject-introspection')
source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz)
-md5sums=('780034ff7433f33e6577b02fd7a2cb0a')
+md5sums=('bfc8a1b94c7a268f15d4d92b83460987')
build() {
cd $pkgname-$pkgver
diff --git a/extra/telepathy-haze/PKGBUILD b/extra/telepathy-haze/PKGBUILD
index beffbe5da..c7d5b09b9 100644
--- a/extra/telepathy-haze/PKGBUILD
+++ b/extra/telepathy-haze/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 157068 2012-04-23 12:17:39Z ibiru $
+# $Id: PKGBUILD 183633 2013-04-25 18:08:02Z ioni $
# Maintainer: Ionut Biru
# Contributor: Timm Preetz
pkgname=telepathy-haze
-pkgver=0.6.0
-pkgrel=2
+pkgver=0.7.0
+pkgrel=1
pkgdesc="A telepathy-backend to use libpurple (Pidgin) protocols."
arch=('i686' 'x86_64')
url="http://telepathy.freedesktop.org"
@@ -14,7 +14,7 @@ replaces=('telepathy-butterfly')
install=telepathy-haze.install
groups=('telepathy')
source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz)
-md5sums=('622e0b2f7ff4050a29f907f2ef0f039c')
+md5sums=('85ae58b06a3a94ccfab7080a834bc684')
build() {
cd "$pkgname-$pkgver"
diff --git a/extra/telepathy-idle/PKGBUILD b/extra/telepathy-idle/PKGBUILD
index 5df4e5930..a2b625131 100644
--- a/extra/telepathy-idle/PKGBUILD
+++ b/extra/telepathy-idle/PKGBUILD
@@ -1,21 +1,21 @@
-# $Id: PKGBUILD 171097 2012-11-16 17:07:10Z ibiru $
+# $Id: PKGBUILD 183634 2013-04-25 18:08:44Z ioni $
# Maintainer: Ionut Biru
# Contributor: Bjorn Lindeijer
# Contributor: Samuel Mendes
pkgname=telepathy-idle
-pkgver=0.1.14
+pkgver=0.1.15
pkgrel=1
pkgdesc="An IRC connection manager for Telepathy"
arch=('i686' 'x86_64')
url="http://telepathy.freedesktop.org"
groups=('telepathy')
license=('LGPL')
-depends=('telepathy-glib' 'openssl')
+depends=('telepathy-glib')
makedepends=('libxslt' 'python2')
install=telepathy-idle.install
source=(http://telepathy.freedesktop.org/releases/$pkgname/$pkgname-$pkgver.tar.gz)
-md5sums=('c292c54aa08f61544ab53fda880d861c')
+md5sums=('56f960ed1d9ed0c01e0b9f7eb68dbebe')
build() {
cd $pkgname-$pkgver
diff --git a/libre/bumblebee-libre/PKGBUILD b/libre/bumblebee-libre/PKGBUILD
index 8805ff9d1..d07cb1c64 100644
--- a/libre/bumblebee-libre/PKGBUILD
+++ b/libre/bumblebee-libre/PKGBUILD
@@ -3,8 +3,8 @@
_pkgname=bumblebee
pkgname=bumblebee-libre
-pkgver=3.1
-pkgrel=6.2
+pkgver=3.2
+pkgrel=1
pkgdesc="NVIDIA Optimus support for GNU/Linux through VirtualGL, without nonfree nvidia driver support"
arch=('i686' 'x86_64')
depends=('virtualgl' 'glib2' 'mesa-libgl')
@@ -27,10 +27,10 @@ backup=('etc/bumblebee/bumblebee.conf'
'etc/bumblebee/xorg.conf.nouveau')
source=("http://www.bumblebee-project.org/${_pkgname}-${pkgver}.tar.gz"
'libre.patch')
-md5sums=('de515ef51b1e0714c2f1b2a95f83e77e'
+md5sums=('690d0b3aea4ae1fc2a72fe2719ecfd74'
'f8b6044310039911236f53a625c611a6')
-build() {
+prepare() {
cd "${srcdir}/${_pkgname}-${pkgver}"
# Remove nonfree references to nonfree nvidia driver and unnecessaries files
@@ -40,6 +40,9 @@ build() {
rm -rv "scripts/bumblebee-bugreport.in"
patch -Np1 -i "${srcdir}/libre.patch"
+build() {
+ cd "${srcdir}/${_pkgname}-${pkgver}"
+
./configure \
CONF_DRIVER=nouveau \
--prefix=/usr \
diff --git a/pcr/ruby-headers/PKGBUILD b/pcr/ruby-headers/PKGBUILD
index 855c7ff38..074205e79 100644
--- a/pcr/ruby-headers/PKGBUILD
+++ b/pcr/ruby-headers/PKGBUILD
@@ -3,29 +3,24 @@
pkgname=ruby-headers
_pkgname=ruby
-pkgver=1.9.3_p385
-_pkgver=1.9.3-p385
+pkgver=2.0.0_p0
+_pkgver=2.0.0-p0
pkgrel=1
pkgdesc="A package of all Ruby headers needed by some gems like ruby-debug."
arch=('any')
url="http://www.ruby-lang.org/en/"
license=('GPL2' 'custom:Ruby')
depends=("ruby=$pkgver")
-source=("http://ftp.ruby-lang.org/pub/ruby/1.9/$_pkgname-$_pkgver.tar.bz2")
-
-build() {
- /bin/true
-}
+source=("http://ftp.ruby-lang.org/pub/ruby/2.0/$_pkgname-$_pkgver.tar.bz2")
package() {
cd "$srcdir/$_pkgname-$_pkgver"
- # Just to make sure, since currently we have /usr/include/ruby-1.9.1 for ruby 1.9.2
- _hdrdir=`ruby -e "require 'rbconfig'; puts Config::CONFIG['rubyhdrdir']"`
+ _hdrdir=`ruby -e "require 'rbconfig'; puts RbConfig::CONFIG['rubyhdrdir']"`
install -d "$pkgdir$_hdrdir/$_pkgname-$_pkgver"
install -m644 *.{h,inc} "$pkgdir$_hdrdir/$_pkgname-$_pkgver"
install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}
-md5sums=('5ec9aff670f4912b0f6f0e11e855ef6c')
+md5sums=('895c1c581f8d28e8b3bb02472b2ccf6a')
diff --git a/pcr/ruby-mustache/PKGBUILD b/pcr/ruby-mustache/PKGBUILD
new file mode 100644
index 000000000..ddb5215d3
--- /dev/null
+++ b/pcr/ruby-mustache/PKGBUILD
@@ -0,0 +1,31 @@
+# Maintainer: David Campbell
+pkgname=ruby-mustache
+pkgver=0.99.4
+pkgrel=3
+pkgdesc="A framework-agnostic way to render logic-free views."
+arch=('any')
+url="http://github.com/defunkt/mustache"
+license=(MIT)
+depends=('ruby>=2')
+makedepends=('rubygems')
+source=("http://gems.rubyforge.org/gems/mustache-${pkgver}.gem"
+ "https://raw.github.com/defunkt/mustache/master/LICENSE")
+md5sums=('650194ec2c166feb087377647414b9dc'
+ 'fbbd010314b3f1554733123ecde55a52')
+noextract=("mustache-${pkgver}.gem")
+
+build() {
+ cd $srcdir
+ local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
+ gem install \
+ --no-user-install \
+ --ignore-dependencies \
+ -i "$pkgdir$_gemdir" mustache-$pkgver.gem \
+ -n "$pkgdir/usr/bin"
+
+ install -Dm644 $srcdir/LICENSE \
+ $pkgdir/usr/share/licenses/$pkgname/LICENSE
+
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/sigil/PKGBUILD b/pcr/sigil/PKGBUILD
new file mode 100644
index 000000000..0d5802ac1
--- /dev/null
+++ b/pcr/sigil/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 59836 2011-11-30 22:56:23Z giovanni $
+# Maintainer: Giovanni Scafora
+# Contributor: Larry Hajali
+# Contributor: Jorge Araya Navarro
+
+pkgname=sigil
+pkgver=0.7.2
+pkgrel=1
+pkgdesc="A WYSIWYG ebook editor"
+arch=('i686' 'x86_64')
+url="http://code.google.com/p/sigil/"
+license=('GPL3')
+depends=('qt5-base' 'qt5-svg' 'qt5-webkit' 'qt5-xmlpatterns' 'qt5-tools')
+makedepends=('cmake')
+provides=('sigil')
+conflicts=('sigil')
+install=sigil.install
+source=("http://sigil.googlecode.com/files/Sigil-0.7.2-Code.zip"
+ "sigil.desktop")
+
+build() {
+ cd ${srcdir}
+ mkdir build
+ cd build
+ cmake -G "Unix Makefiles" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_C_FLAGS:STRING="${CFLAGS}" \
+ -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_RPATH=ON ..
+
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make install DESTDIR="${pkgdir}"
+
+ install -d -m 0755 "${pkgdir}"/usr/share/applications
+ install -m 0644 "${srcdir}"/sigil.desktop "${pkgdir}"/usr/share/applications
+
+ for _pic in 16 32 48 128 256; do
+ install -D -m 0644 ../src/Sigil/Resource_Files/icon/app_icon_${_pic}.png \
+ "${pkgdir}"/usr/share/icons/hicolor/${_pic}x${_pic}/apps/sigil.png
+ done
+}
+sha256sums=('8a6f5fd7c59fd8524ce0f48e7d13d13bad137053c9071fe2e1653ea55d5ed940'
+ '92a1014794dbf81fa997449338ded9a0e84593e3552020eb9269039b916bea36')
diff --git a/pcr/sigil/sigil.desktop b/pcr/sigil/sigil.desktop
new file mode 100755
index 000000000..cdb4ce1b2
--- /dev/null
+++ b/pcr/sigil/sigil.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Encoding=UTF-8
+Type=Application
+Name=Sigil
+Comment=WYSIWYG ebook editor
+TryExec=sigil
+Exec=sigil %F
+Icon=sigil
+Terminal=false
+StartupNotify=false
+Categories=Application;Office;
+MimeType=application/epub+zip;
diff --git a/pcr/sigil/sigil.install b/pcr/sigil/sigil.install
new file mode 100644
index 000000000..ec506fa93
--- /dev/null
+++ b/pcr/sigil/sigil.install
@@ -0,0 +1,12 @@
+post_install() {
+ update-desktop-database -q
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/pcr/transmission-remote-cli/PKGBUILD b/pcr/transmission-remote-cli/PKGBUILD
new file mode 100644
index 000000000..5e3699bce
--- /dev/null
+++ b/pcr/transmission-remote-cli/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: fauno
+pkgname=transmission-remote-cli
+pkgver=0.10.4
+pkgrel=1
+pkgdesc="Curses interface for the daemon of the BitTorrent client Transmission"
+arch=('any')
+url="https://github.com/fagga/transmission-remote-cli"
+license=('GPL3')
+depends=('python2')
+optdepends=('transmission-daemon>=2.40: for local transmission management'
+ 'adns-python: Resolve IPs to host names'
+ 'python-geoip: Guess which country peers come from')
+conflicts=('transmission-remote-cli-git' "transmission-remote-cli<=20111013")
+replaces=('transmission-remote-cli-git')
+source=(http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${pkgrel}-any.src.tar.xz
+ python2.patch)
+
+build() {
+ cd "${srcdir}/${pkgname}"
+ msg "Starting make..."
+
+ patch -Np1 -i ${srcdir}/python2.patch
+
+ install -d ${pkgdir}/usr/bin/
+ install -Dm755 transmission-remote-cli.py ${pkgdir}/usr/bin/transmission-remote-cli
+
+}
+md5sums=('b85382bc2e24c5733f9c3833098da668'
+ '6273609fb3a7294328aeaa526b76411c')
diff --git a/pcr/transmission-remote-cli/python2.patch b/pcr/transmission-remote-cli/python2.patch
new file mode 100644
index 000000000..256b676f0
--- /dev/null
+++ b/pcr/transmission-remote-cli/python2.patch
@@ -0,0 +1,9 @@
+diff -Nur transmission-remote-cli/transmission-remote-cli.py transmission-remote-cli-python2//transmission-remote-cli.py
+--- transmission-remote-cli/transmission-remote-cli.py 2010-10-19 10:33:49.544594708 -0300
++++ transmission-remote-cli-python2//transmission-remote-cli.py 2010-10-19 10:42:51.278983745 -0300
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ ########################################################################
+ # This is transmission-remote-cli, whereas 'cli' stands for 'Curses #
+ # Luminous Interface', a client for the daemon of the BitTorrent #
diff --git a/~fauno/ruby-mustache/PKGBUILD b/~fauno/ruby-mustache/PKGBUILD
deleted file mode 100644
index 8c8d924c1..000000000
--- a/~fauno/ruby-mustache/PKGBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Maintainer: David Campbell
-pkgname=ruby-mustache
-pkgver=0.99.4
-pkgrel=2
-pkgdesc="A framework-agnostic way to render logic-free views."
-arch=('any')
-url="http://github.com/defunkt/mustache"
-license=(MIT)
-depends=('ruby')
-makedepends=('rubygems')
-source=("http://gems.rubyforge.org/gems/mustache-${pkgver}.gem"
- "https://raw.github.com/defunkt/mustache/master/LICENSE")
-md5sums=('650194ec2c166feb087377647414b9dc'
- 'fbbd010314b3f1554733123ecde55a52')
-noextract=("mustache-${pkgver}.gem")
-
-build() {
- cd $srcdir
- local _gemdir="$(ruby -rubygems -e'puts Gem.default_dir')"
- gem install \
- --ignore-dependencies \
- -i "$pkgdir$_gemdir" mustache-$pkgver.gem \
- -n "$pkgdir/usr/bin"
-
- install -Dm644 $srcdir/LICENSE \
- $pkgdir/usr/share/licenses/$pkgname/LICENSE
-
-}
-
-# vim:set ts=2 sw=2 et:
diff --git a/~fauno/transmission-remote-cli/PKGBUILD b/~fauno/transmission-remote-cli/PKGBUILD
deleted file mode 100644
index 5e3699bce..000000000
--- a/~fauno/transmission-remote-cli/PKGBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Maintainer: fauno
-pkgname=transmission-remote-cli
-pkgver=0.10.4
-pkgrel=1
-pkgdesc="Curses interface for the daemon of the BitTorrent client Transmission"
-arch=('any')
-url="https://github.com/fagga/transmission-remote-cli"
-license=('GPL3')
-depends=('python2')
-optdepends=('transmission-daemon>=2.40: for local transmission management'
- 'adns-python: Resolve IPs to host names'
- 'python-geoip: Guess which country peers come from')
-conflicts=('transmission-remote-cli-git' "transmission-remote-cli<=20111013")
-replaces=('transmission-remote-cli-git')
-source=(http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}-${pkgrel}-any.src.tar.xz
- python2.patch)
-
-build() {
- cd "${srcdir}/${pkgname}"
- msg "Starting make..."
-
- patch -Np1 -i ${srcdir}/python2.patch
-
- install -d ${pkgdir}/usr/bin/
- install -Dm755 transmission-remote-cli.py ${pkgdir}/usr/bin/transmission-remote-cli
-
-}
-md5sums=('b85382bc2e24c5733f9c3833098da668'
- '6273609fb3a7294328aeaa526b76411c')
diff --git a/~fauno/transmission-remote-cli/python2.patch b/~fauno/transmission-remote-cli/python2.patch
deleted file mode 100644
index 256b676f0..000000000
--- a/~fauno/transmission-remote-cli/python2.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -Nur transmission-remote-cli/transmission-remote-cli.py transmission-remote-cli-python2//transmission-remote-cli.py
---- transmission-remote-cli/transmission-remote-cli.py 2010-10-19 10:33:49.544594708 -0300
-+++ transmission-remote-cli-python2//transmission-remote-cli.py 2010-10-19 10:42:51.278983745 -0300
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python2
- ########################################################################
- # This is transmission-remote-cli, whereas 'cli' stands for 'Curses #
- # Luminous Interface', a client for the daemon of the BitTorrent #
--
cgit v1.2.3-54-g00ecf