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
