forked from mirrors/nixpkgs
Add gmrun-0.9.2
Signed-off-by: Baptist BENOIST <return_0@live.com>
This commit is contained in:
parent
440656dbd0
commit
ca264f8da0
39
pkgs/applications/misc/gmrun/default.nix
Normal file
39
pkgs/applications/misc/gmrun/default.nix
Normal 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;
|
||||
};
|
||||
}
|
51
pkgs/applications/misc/gmrun/gcc43.patch
Normal file
51
pkgs/applications/misc/gmrun/gcc43.patch
Normal 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;
|
58
pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch
Normal file
58
pkgs/applications/misc/gmrun/gmrun-0.9.2-xdg.patch
Normal 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);
|
||||
}
|
||||
}
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue