[nemo-open-terminal] Rebuilt for libgnome-desktop soname bump
leigh123linux
leigh123linux at fedoraproject.org
Sun Feb 24 19:32:43 UTC 2013
commit 8df5192a85d3c49e7e25f32d1552aad5c3fac522
Author: leigh123linux <leigh123linux at googlemail.com>
Date: Sun Feb 24 19:32:38 2013 +0000
Rebuilt for libgnome-desktop soname bump
- Patch for gnome-desktop changes
nemo-open-terminal.spec | 7 ++-
upstream_commit.patch | 171 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 176 insertions(+), 2 deletions(-)
---
diff --git a/nemo-open-terminal.spec b/nemo-open-terminal.spec
index fa54443..edc5482 100644
--- a/nemo-open-terminal.spec
+++ b/nemo-open-terminal.spec
@@ -10,7 +10,9 @@ License: GPLv2+ and LGPLv2+
URL: https://github.com/leigh123linux/nemo-open-terminal
# To generate source
# wget https://github.com/leigh123linux/nemo-open-terminal/tarball/%%{_internal_version} -O nemo-open-terminal-%%{version}.git%%{_internal_version}.tar.gz
-Source0: http://leigh123linux.fedorapeople.org/pub/nemo-open-terminal/source/nemo-open-terminal-%{version}.tar.gz
+Source0: http://leigh123linux.fedorapeople.org/pub/nemo-open-terminal/source/nemo-open-terminal-%{version}.tar.gz
+
+Patch0: upstream_commit.patch
BuildRequires: gnome-desktop3-devel
BuildRequires: intltool
@@ -29,7 +31,7 @@ Terminal" option for nemo users who prefer that option.
%prep
%setup -q -n leigh123linux-%{name}-%{_internal_version}
-
+%patch0 -p1
%build
%configure --disable-static \
@@ -65,6 +67,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/nemo/extensions-3.0/*.la
%changelog
* Sun Feb 24 2013 Leigh Scott <leigh123linux at googlemail.com> - 1.0.0-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.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
diff --git a/upstream_commit.patch b/upstream_commit.patch
new file mode 100644
index 0000000..1ba833c
--- /dev/null
+++ b/upstream_commit.patch
@@ -0,0 +1,171 @@
+--- a/src/eel-gnome-extensions.c 2012-10-08 13:38:46.000000000 +0100
++++ b/src/eel-gnome-extensions.c 2013-02-24 18:43:12.028160414 +0000
+@@ -33,7 +33,6 @@
+ #include <fcntl.h>
+ #include <gdk/gdkx.h>
+ #include <gtk/gtk.h>
+-#include <libgnome-desktop/gnome-desktop-utils.h>
+ #include <limits.h>
+ #include <signal.h>
+ #include <stdio.h>
+@@ -45,136 +44,10 @@
+
+ /* 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);
+- 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;
+-}
+-
+-char *
+-_not_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
+ _not_eel_gnome_open_terminal_on_screen (const char *command,
+ GdkScreen *screen)
+ {
+- char *command_line;
+ GAppInfo *app;
+ GdkAppLaunchContext *ctx;
+ GError *error = NULL;
+@@ -184,13 +57,7 @@ _not_eel_gnome_open_terminal_on_screen (
+ screen = gdk_screen_get_default ();
+ }
+
+- command_line = _not_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) {
+ display = gdk_screen_get_display (screen);
+@@ -208,8 +75,6 @@ _not_eel_gnome_open_terminal_on_screen (
+
+ g_error_free (error);
+ }
+-
+- g_free (command_line);
+ }
+
+ void
More information about the scm-commits
mailing list