Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=ca8679305e73513d791912aa9659beb65cd909db

commit ca8679305e73513d791912aa9659beb65cd909db
Author: Baste <[email protected]>
Date:   Mon Apr 8 16:17:57 2013 +0200

gnome-panel-3.6.2-3-x86_64
* fix build

diff --git a/source/gnome-extra/gnome-panel/FrugalBuild 
b/source/gnome-extra/gnome-panel/FrugalBuild
index 0f711d9..07e51d9 100644
--- a/source/gnome-extra/gnome-panel/FrugalBuild
+++ b/source/gnome-extra/gnome-panel/FrugalBuild
@@ -22,9 +22,11 @@ _F_gnome_desktop="y"
_F_gnome_doc="y"
_F_gnome_ext=".tar.xz"
Finclude gnome gnome-scriptlet
-source=($source gweather.patch)
+source=($source gweather.patch desktop.patch calendar.patch)
sha1sums=('9e7a94dedba0e6514c8dd634f08bc7c1c3d3b338' \
-          '35eaa11379d2beb90b19ff556e550f38ef5d2857')
+          '35eaa11379d2beb90b19ff556e550f38ef5d2857' \
+          '0af31f5a55cfa49ea44e15aef321d55379bb4651' \
+          '6b3a1c2e4513535d4a70658b740758bb3c03bb08')
replaces=('libpanelappletmm' 'deskbar-applet' 'gnome-globalmenu' 'giplet' 
'hamster-applet' 'webilder' 'mintmenu' 'lock-keys-applet')
provides=('deskbar-applet')

diff --git a/source/gnome-extra/gnome-panel/calendar.patch 
b/source/gnome-extra/gnome-panel/calendar.patch
new file mode 100644
index 0000000..84931a4
--- /dev/null
+++ b/source/gnome-extra/gnome-panel/calendar.patch
@@ -0,0 +1,49 @@
+From 452f59be8f9babf0ae33654e754da65151760a76 Mon Sep 17 00:00:00 2001
+From: Philipp Kaluza <[email protected]>
+Date: Fri, 08 Mar 2013 16:51:23 +0000
+Subject: drop support for commandline-based calendar/tasks applications
+
+It's not worth the layering violations this would need.
+(Partial fix for bug #237308 .)
+---
+diff --git a/applets/clock/calendar-window.c b/applets/clock/calendar-window.c
+index 458852c..708e921 100644
+--- applets/clock/calendar-window.c
++++ applets/clock/calendar-window.c
+@@ -42,9 +42,6 @@
+ #include <glib/gi18n.h>
+ #include <gio/gio.h>
+
+-#define GNOME_DESKTOP_USE_UNSTABLE_API
+-#include <libgnome-desktop/gnome-desktop-utils.h>
+-
+ #include "calendar-window.h"
+
+ #include "clock.h"
+@@ -168,6 +165,13 @@ clock_launch_calendar_tasks_app (CalendarWindow *calwin,
+               return;
+       }
+
++      /* FIXME: reintroduce terminal support if a proper GAppInfo port of 
gnome-panel is ever done */
++      if (terminal) {
++              g_printerr ("Terminal-based calendar/tasks applications are no 
longer supported, sorry. "
++                          "Please configure a different application.\n");
++              return;
++      }
++
+       command_line = g_find_program_in_path (program);
+       if (command_line == NULL) {
+               g_printerr ("Cannot launch calendar/tasks application: %s in 
path\n", program);
+@@ -189,9 +193,6 @@ clock_launch_calendar_tasks_app (CalendarWindow *calwin,
+       screen = gtk_widget_get_screen (calwin->priv->calendar);
+       error = NULL;
+
+-      if (terminal)
+-              gnome_desktop_prepend_terminal_to_vector (&argc, &argv);
+-
+       display = gdk_screen_make_display_name (screen);
+
+       result = g_spawn_async (NULL, /* working directory */
+--
+cgit v0.9.1
+
diff --git a/source/gnome-extra/gnome-panel/desktop.patch 
b/source/gnome-extra/gnome-panel/desktop.patch
new file mode 100644
index 0000000..1e3cac1
--- /dev/null
+++ b/source/gnome-extra/gnome-panel/desktop.patch
@@ -0,0 +1,173 @@
+From bf6af945130299a69a244afaee4eecbd3fb77233 Mon Sep 17 00:00:00 2001
+From: Philipp Kaluza <[email protected]>
+Date: Fri, 08 Mar 2013 17:08:32 +0000
+Subject: panel-run-dialog: resurrect function 
gnome_desktop_prepend_terminal_to_vector
+
+, which was removed from gnome-desktop in commit
+9bab2144b7c8ace0c057720be3c48fb24a80a19d , and keep a local
+copy in panel-run-dialog.c (simple helper function, static).
+(Second half of fix for bug #237308 .)
+---
+diff --git a/gnome-panel/panel-run-dialog.c b/gnome-panel/panel-run-dialog.c
+index 801b9bc..faf3d7e 100644
+--- gnome-panel/panel-run-dialog.c
++++ gnome-panel/panel-run-dialog.c
+@@ -25,6 +25,7 @@
+  *    Havoc Pennington <[email protected]>
+  *      George Lebl <[email protected]>
+  *    Mark McLoughlin <[email protected]>
++ *    Tom Tromey (Copyright (C) 1998)
+  */
+
+ #include <config.h>
+@@ -42,8 +43,6 @@
+ #include <gdk/gdkkeysyms.h>
+ #include <gmenu-tree.h>
+
+-#include <libgnome-desktop/gnome-desktop-utils.h>
+-
+ #include <libpanel-util/panel-error.h>
+ #include <libpanel-util/panel-glib.h>
+ #include <libpanel-util/panel-gtk.h>
+@@ -335,6 +334,138 @@ dummy_child_watch (GPid         pid,
+        */
+ }
+
++
++/**
++ * gnome_desktop_prepend_terminal_to_vector:
++ * @argc: a pointer to the vector size
++ * @argv: a pointer to the vector
++ *
++ * Description:  Prepends a terminal (either the one configured as default in
++ * the user's GNOME setup, or one of the common xterm emulators) to the passed
++ * in vector, modifying it in the process.  The vector should be allocated 
with
++ * #g_malloc, as this will #g_free the original vector.  Also all elements 
must
++ * have been allocated separately.  That is the standard glib/GNOME way of
++ * doing vectors however.  If the integer that @argc points to is negative, 
the
++ * size will first be computed.  Also note that passing in pointers to a 
vector
++ * that is empty, will just create a new vector for you.
++ **/
++static void
++gnome_desktop_prepend_terminal_to_vector (int *argc, char ***argv)
++{
++#ifndef G_OS_WIN32
++        char **real_argv;
++        int real_argc;
++        int i, j;
++      char **term_argv = NULL;
++      int term_argc = 0;
++      GSettings *settings;
++
++      gchar *terminal = NULL;
++
++      char **the_argv;
++
++        g_return_if_fail (argc != NULL);
++        g_return_if_fail (argv != NULL);
++
++        // _gnome_desktop_init_i18n ();
++
++      /* sanity */
++        if(*argv == NULL)
++                *argc = 0;
++
++      the_argv = *argv;
++
++      /* compute size if not given */
++      if (*argc < 0) {
++              for (i = 0; the_argv[i] != NULL; i++)
++                      ;
++              *argc = i;
++      }
++
++      settings = g_settings_new 
("org.gnome.desktop.default-applications.terminal");
++      terminal = g_settings_get_string (settings, "exec");
++
++      if (terminal) {
++              gchar *command_line;
++              gchar *exec_flag;
++
++              exec_flag = g_settings_get_string (settings, "exec-arg");
++
++              if (exec_flag == NULL)
++                      command_line = g_strdup (terminal);
++              else
++                      command_line = g_strdup_printf ("%s %s", terminal,
++                                                      exec_flag);
++
++              g_shell_parse_argv (command_line,
++                                  &term_argc,
++                                  &term_argv,
++                                  NULL /* error */);
++
++              g_free (command_line);
++              g_free (exec_flag);
++              g_free (terminal);
++      }
++
++      g_object_unref (settings);
++
++      if (term_argv == NULL) {
++              char *check;
++
++              term_argc = 2;
++              term_argv = g_new0 (char *, 3);
++
++              check = g_find_program_in_path ("gnome-terminal");
++              if (check != NULL) {
++                      term_argv[0] = check;
++                      /* Note that gnome-terminal takes -x and
++                       * as -e in gnome-terminal is broken we use that. */
++                      term_argv[1] = g_strdup ("-x");
++              } else {
++                      if (check == NULL)
++                              check = g_find_program_in_path ("nxterm");
++                      if (check == NULL)
++                              check = g_find_program_in_path ("color-xterm");
++                      if (check == NULL)
++                              check = g_find_program_in_path ("rxvt");
++                      if (check == NULL)
++                              check = g_find_program_in_path ("xterm");
++                      if (check == NULL)
++                              check = g_find_program_in_path ("dtterm");
++                      if (check == NULL) {
++                              g_warning (_("Cannot find a terminal, using "
++                                           "xterm, even if it may not work"));
++                              check = g_strdup ("xterm");
++                      }
++                      term_argv[0] = check;
++                      term_argv[1] = g_strdup ("-e");
++              }
++      }
++
++        real_argc = term_argc + *argc;
++        real_argv = g_new (char *, real_argc + 1);
++
++        for (i = 0; i < term_argc; i++)
++                real_argv[i] = term_argv[i];
++
++        for (j = 0; j < *argc; j++, i++)
++                real_argv[i] = (char *)the_argv[j];
++
++      real_argv[i] = NULL;
++
++      g_free (*argv);
++      *argv = real_argv;
++      *argc = real_argc;
++
++      /* we use g_free here as we sucked all the inner strings
++       * out from it into real_argv */
++      g_free (term_argv);
++#else
++      /* FIXME: Implement when needed */
++      g_warning ("gnome_prepend_terminal_to_vector: Not implemented");
++#endif
++}
++
+ static gboolean
+ panel_run_dialog_launch_command (PanelRunDialog *dialog,
+                                const char     *command,
+--
+cgit v0.9.1
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to