3
0
Fork 0
forked from mirrors/nixpkgs

Add gmrun-0.9.2

Signed-off-by: Baptist BENOIST <return_0@live.com>
This commit is contained in:
Baptist BENOIST 2012-10-16 17:31:06 +02:00
parent 440656dbd0
commit ca264f8da0
4 changed files with 150 additions and 0 deletions

View file

@ -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;
};
}

View file

@ -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;

View file

@ -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);
}
}

View file

@ -7051,6 +7051,8 @@ let
pcre = pcre.override { unicodeSupport = true; };
};
gmrun = callPackage ../applications/misc/gmrun {};
gnucash = callPackage ../applications/office/gnucash {
inherit (gnome) libgnomeui libgtkhtml gtkhtml libbonoboui libgnomeprint;
gconf = gnome.GConf;