[nemo] Rebuilt for libgnome-desktop soname bump

leigh123linux leigh123linux at fedoraproject.org
Sun Feb 24 15:18:11 UTC 2013


commit d48b8ecc75deecf0d48a38a369fb7387baecebad
Author: leigh123linux <leigh123linux at googlemail.com>
Date:   Sun Feb 24 15:18:04 2013 +0000

    Rebuilt for libgnome-desktop soname bump
    
    - Patch for gnome-desktop changes

 447d2ad6944afd94434a774b28f8c6e8274955fe.patch |  174 ++++++++++++++++++++++++
 nemo.spec                                      |    5 +
 2 files changed, 179 insertions(+), 0 deletions(-)
---
diff --git a/447d2ad6944afd94434a774b28f8c6e8274955fe.patch b/447d2ad6944afd94434a774b28f8c6e8274955fe.patch
new file mode 100644
index 0000000..0c58ddc
--- /dev/null
+++ b/447d2ad6944afd94434a774b28f8c6e8274955fe.patch
@@ -0,0 +1,174 @@
+From 447d2ad6944afd94434a774b28f8c6e8274955fe Mon Sep 17 00:00:00 2001
+From: William Jon McCann <jmccann at redhat.com>
+Date: Fri, 15 Feb 2013 18:30:39 +0000
+Subject: eel: use G_APP_INFO_CREATE_NEEDS_TERMINAL to run command in terminal
+
+---
+diff --git a/eel/eel-gnome-extensions.c b/eel/eel-gnome-extensions.c
+index eaddfe5..e7b8ecb 100644
+--- a/eel/eel-gnome-extensions.c
++++ b/eel/eel-gnome-extensions.c
+@@ -31,153 +31,19 @@
+ #include "eel-gnome-extensions.h"
+ 
+ #include <gtk/gtk.h>
+-#include <libgnome-desktop/gnome-desktop-utils.h>
+ 
+ /* Return a command string containing the path to a terminal on this system. */
+ 
+-static char *
+-try_terminal_command (const char *program,
+-		      const char *args)
+-{
+-	char *program_in_path, *quoted, *result;
+-
+-	if (program == NULL) {
+-		return NULL;
+-	}
+-
+-	program_in_path = g_find_program_in_path (program);
+-	if (program_in_path == NULL) {
+-		return NULL;
+-	}
+-
+-	quoted = g_shell_quote (program_in_path);
+-	g_free (program_in_path);
+-	if (args == NULL || args[0] == '\0') {
+-		return quoted;
+-	}
+-	result = g_strconcat (quoted, " ", args, NULL);
+-	g_free (quoted);
+-	return result;
+-}
+-
+-static char *
+-try_terminal_command_argv (int argc,
+-			   char **argv)
+-{
+-	GString *string;
+-	int i;
+-	char *quoted, *result;
+-
+-	if (argc == 0) {
+-		return NULL;
+-	}
+-
+-	if (argc == 1) {
+-		return try_terminal_command (argv[0], NULL);
+-	}
+-	
+-	string = g_string_new (argv[1]);
+-	for (i = 2; i < argc; i++) {
+-		quoted = g_shell_quote (argv[i]);
+-		g_string_append_c (string, ' ');
+-		g_string_append (string, quoted);
+-		g_free (quoted);
+-	}
+-	result = try_terminal_command (argv[0], string->str);
+-	g_string_free (string, TRUE);
+-
+-	return result;
+-}
+-
+-static char *
+-get_terminal_command_prefix (gboolean for_command)
+-{
+-	int argc;
+-	char **argv;
+-	char *command;
+-	guint i;
+-	static const char *const commands[][3] = {
+-		{ "gnome-terminal", "-x",                                      "" },
+-		{ "dtterm",         "-e",                                      "-ls" },
+-		{ "nxterm",         "-e",                                      "-ls" },
+-		{ "color-xterm",    "-e",                                      "-ls" },
+-		{ "rxvt",           "-e",                                      "-ls" },
+-		{ "xterm",          "-e",                                      "-ls" },
+-	};
+-
+-	/* Try the terminal from preferences. Use without any
+-	 * arguments if we are just doing a standalone terminal.
+-	 */
+-	argc = 0;
+-	argv = g_new0 (char *, 1);
+-	gnome_desktop_prepend_terminal_to_vector (&argc, &argv);
+-
+-	command = NULL;
+-	if (argc != 0) {
+-		if (for_command) {
+-			command = try_terminal_command_argv (argc, argv);
+-		} else {
+-			/* Strip off the arguments in a lame attempt
+-			 * to make it be an interactive shell.
+-			 */
+-			command = try_terminal_command (argv[0], NULL);
+-		}
+-	}
+-
+-	while (argc != 0) {
+-		g_free (argv[--argc]);
+-	}
+-	g_free (argv);
+-
+-	if (command != NULL) {
+-		return command;
+-	}
+-
+-	/* Try well-known terminal applications in same order that gmc did. */
+-	for (i = 0; i < G_N_ELEMENTS (commands); i++) {
+-		command = try_terminal_command (commands[i][0],
+-						commands[i][for_command ? 1 : 2]);
+-		if (command != NULL) {
+-			break;
+-		}
+-	}
+-	
+-	return command;
+-}
+-
+-static char *
+-eel_gnome_make_terminal_command (const char *command)
+-{
+-	char *prefix, *quoted, *terminal_command;
+-
+-	if (command == NULL) {
+-		return get_terminal_command_prefix (FALSE);
+-	}
+-	prefix = get_terminal_command_prefix (TRUE);
+-	quoted = g_shell_quote (command);
+-	terminal_command = g_strconcat (prefix, " /bin/sh -c ", quoted, NULL);
+-	g_free (prefix);
+-	g_free (quoted);
+-	return terminal_command;
+-}
+-
+ void
+ eel_gnome_open_terminal_on_screen (const char *command,
+ 				   GdkScreen  *screen)
+ {
+-	char *command_line;
+ 	GAppInfo *app;
+ 	GdkAppLaunchContext *ctx;
+ 	GError *error = NULL;
+ 	GdkDisplay *display;
+ 
+-	command_line = eel_gnome_make_terminal_command (command);
+-	if (command_line == NULL) {
+-		g_message ("Could not start a terminal");
+-		return;
+-	}
+-
+-	app = g_app_info_create_from_commandline (command_line, NULL, 0, &error);
++	app = g_app_info_create_from_commandline (command, NULL, G_APP_INFO_CREATE_NEEDS_TERMINAL, &error);
+ 
+ 	if (app != NULL && screen != NULL) {
+ 		display = gdk_screen_get_display (screen);
+@@ -195,6 +61,4 @@ eel_gnome_open_terminal_on_screen (const char *command,
+ 
+ 		g_error_free (error);
+ 	}
+-
+-	g_free (command_line);
+ }
+--
+cgit v0.9.1
diff --git a/nemo.spec b/nemo.spec
index 617a5c9..4ee3919 100644
--- a/nemo.spec
+++ b/nemo.spec
@@ -47,6 +47,9 @@ BuildRequires:  gnome-themes-standard
 Requires:       nemo-extensions%{?_isa} = %{version}-%{release}
 
 Patch0:         remove_open_terminal.patch
+# nautilus upstream commit
+# http://git.gnome.org/browse/nautilus/commit/?id=447d2ad6944afd94434a774b28f8c6e8274955fe
+Patch1:         447d2ad6944afd94434a774b28f8c6e8274955fe.patch
 
 
 %description
@@ -88,6 +91,7 @@ Nemo theme fix for Adwaita
 %prep
 %setup -q -n linuxmint-%{name}-%{_internal_version}
 %patch0 -p1
+%patch1 -p1
 NOCONFIGURE=1 ./autogen.sh
 
 %build
@@ -188,6 +192,7 @@ fi
 %changelog
 * Sun Feb 24 2013 Leigh Scott <leigh123linux at googlemail.com> - 1.1.2-4
 - Rebuilt for libgnome-desktop soname bump
+- Patch for gnome-desktop changes
 
 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.1.2-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild


More information about the scm-commits mailing list