diff options
author | Baptist BENOIST <return_0@live.com> | 2012-10-16 17:31:06 +0200 |
---|---|---|
committer | Baptist BENOIST <return_0@live.com> | 2012-10-16 18:03:13 +0200 |
commit | ca264f8da0e5a289b20bc20d16a4ec8f0756ade7 (patch) | |
tree | 301b1ff1a6150215f07ca44ed430c8944111d3d7 /pkgs/applications/misc/gmrun | |
parent | 440656dbd018472e0d81e9c8cc820598c40661c2 (diff) |
Add gmrun-0.9.2
Signed-off-by: Baptist BENOIST <return_0@live.com>
Diffstat (limited to 'pkgs/applications/misc/gmrun')
-rw-r--r-- | pkgs/applications/misc/gmrun/default.nix | 39 | ||||
-rw-r--r-- | pkgs/applications/misc/gmrun/gcc43.patch | 51 | ||||
-rw-r--r-- | pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch | 58 |
3 files changed, 148 insertions, 0 deletions
diff --git a/pkgs/applications/misc/gmrun/default.nix b/pkgs/applications/misc/gmrun/default.nix new file mode 100644 index 0000000000000..930df87214ad2 --- /dev/null +++ b/pkgs/applications/misc/gmrun/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, glib, gtk2, pkgconfig, popt }: + +let + version = "0.9.2"; +in + +stdenv.mkDerivation rec { + name = "gmrun-${version}"; + + src = fetchurl { + url = "http://downloads.sourceforge.net/project/gmrun/gmrun/${version}/${name}.tar.gz"; + md5 = "6cef37a968006d9496fc56a7099c603c"; + }; + + buildInputs = [ glib gtk2 pkgconfig popt ]; + + doCheck = true; + + enableParallelBuilding = true; + + patches = [ + ./gcc43.patch + ./gmrun-0.9.2-xdg.patch + ]; + + meta = { + description = "Gnome Completion-Run Utility."; + longDescription = '' + A simple program which provides a "run program" window, featuring a bash-like TAB completion. + It uses GTK+ interface. + Also, supports CTRL-R / CTRL-S / "!" for searching through history. + Running commands in a terminal with CTRL-Enter. URL handlers. + ''; + homepage = "http://sourceforge.net/projects/gmrun/"; + license = "GPL"; + maintainers = [ stdenv.lib.maintainers.bbenoist ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/misc/gmrun/gcc43.patch b/pkgs/applications/misc/gmrun/gcc43.patch new file mode 100644 index 0000000000000..60e4338e893d1 --- /dev/null +++ b/pkgs/applications/misc/gmrun/gcc43.patch @@ -0,0 +1,51 @@ +--- a/src/gtkcompletionline.cc.orig 2003-11-16 11:55:07.000000000 +0100 ++++ a/src/gtkcompletionline.cc 2008-05-08 08:51:22.000000000 +0200 +@@ -29,6 +29,7 @@ + #include <set> + #include <sstream> + #include <string> ++#include <cstring> + #include <vector> + using namespace std; + +--- a/src/ci_string.h.orig 2001-05-16 16:39:31.000000000 +0200 ++++ a/src/ci_string.h 2008-05-08 08:51:33.000000000 +0200 +@@ -7,6 +7,7 @@ + #define __CI_STRING_H__ + + #include <string> ++#include <cstring> + #include <ctype.h> + + struct ci_char_traits : public std::char_traits<char> +--- a/src/prefs.cc.orig 2002-08-16 12:48:22.000000000 +0200 ++++ a/src/prefs.cc 2008-05-08 08:51:54.000000000 +0200 +@@ -13,6 +13,7 @@ + #include <fstream> + #include <iostream> + #include <stdio.h> ++#include <stdlib.h> + + #include <list> + +--- a/src/main.cc.orig 2003-11-16 11:55:07.000000000 +0100 ++++ a/src/main.cc 2008-05-08 09:03:11.000000000 +0200 +@@ -14,6 +14,7 @@ + #include <gdk/gdkkeysyms.h> + + #include <string> ++#include <cstring> + #include <iostream> + #include <sstream> + #include <vector> + +--- a/src/gtkcompletionline.cc.orig 2009-06-19 22:38:14.000000000 +0400 ++++ a/src/gtkcompletionline.cc 2009-06-19 22:37:14.000000000 +0400 +@@ -376,7 +377,7 @@ + return 0; + } + +-int my_alphasort(const void* va, const void* vb) { ++int my_alphasort(const dirent** va, const dirent** vb) { + const struct dirent** a = (const struct dirent**)va; + const struct dirent** b = (const struct dirent**)vb; diff --git a/pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch b/pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch new file mode 100644 index 0000000000000..b5cd41a3c5b41 --- /dev/null +++ b/pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch @@ -0,0 +1,58 @@ +diff -ur a/src/history.cc src/history.cc +--- a/src/history.cc 2002-08-17 15:19:31.000000000 +0200 ++++ a/src/history.cc 2012-06-04 23:42:35.314653414 +0200 +@@ -24,8 +24,15 @@ + HistoryFile::HistoryFile() + { + m_file_entries = 0; +- m_filename = g_get_home_dir(); +- m_filename += "/.gmrun_history"; ++ const char* filename = getenv("XDG_CACHE_HOME"); ++ if (filename != 0 && *filename != '\0') { ++ m_filename = filename; ++ m_filename += "/gmrun_history"; ++ } ++ else { ++ m_filename = g_get_home_dir(); ++ m_filename += "/.gmrun_history"; ++ } + m_current = 0; + m_default_set = false; + read_the_file(); +diff -ur a/src/prefs.cc src/prefs.cc +--- a/src/prefs.cc 2012-06-04 22:35:00.671949439 +0200 ++++ a/src/prefs.cc 2012-06-04 23:24:24.184445962 +0200 +@@ -35,12 +35,29 @@ + file_name += GMRUNRC; + init(file_name); + +- file_name = getenv("HOME"); +- if (!file_name.empty()) { ++ file_name.clear(); ++ const char* filename = getenv("XDG_CONFIG_HOME"); ++ if (filename != 0 && *filename != '\0') { ++ file_name = filename; + string::iterator i = file_name.end() - 1; +- if (*i == '/') file_name.erase(i); +- file_name += "/."; ++ if (*i != '/') { ++ file_name += '/'; ++ } + file_name += GMRUNRC; ++ } ++ else { ++ filename = getenv("HOME"); ++ if (filename != 0 && *filename != '\0') { ++ file_name = filename; ++ string::iterator i = file_name.end() - 1; ++ if (*i != '/') { ++ file_name += '/'; ++ } ++ file_name += '.'; ++ file_name += GMRUNRC; ++ } ++ } ++ if (!file_name.empty()) { + init(file_name); + } + } |