gnu: Add mc

* gnu/packages/mc.scm: New file
* gnu/packages/patches/mc-fix-ncurses-build.patch: New patch
* gnu-system.am (GNU_SYSTEM_MODULES): Add mc.scm.
(dist_patch_DATA): Add patch
This commit is contained in:
Eric Bavier 2014-03-25 15:51:32 -05:00
parent e9c14f37a8
commit 5da64c7d5d
3 changed files with 114 additions and 0 deletions

View File

@ -146,6 +146,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/mail.scm \
gnu/packages/make-bootstrap.scm \
gnu/packages/maths.scm \
gnu/packages/mc.scm \
gnu/packages/messaging.scm \
gnu/packages/mit-krb5.scm \
gnu/packages/moe.scm \
@ -305,6 +306,7 @@ dist_patch_DATA = \
gnu/packages/patches/m4-gets-undeclared.patch \
gnu/packages/patches/m4-readlink-EINVAL.patch \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mc-fix-ncurses-build.patch \
gnu/packages/patches/mcron-install.patch \
gnu/packages/patches/mit-krb5-init-fix.patch \
gnu/packages/patches/mpc123-initialize-ao.patch \

75
gnu/packages/mc.scm Normal file
View File

@ -0,0 +1,75 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages mc)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages aspell)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages glib)
#:use-module (gnu packages ssh)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages check)
#:use-module (gnu packages file)
#:use-module (gnu packages perl))
(define-public mc
(package
(name "mc")
(version "4.8.11")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.midnight-commander.org/mc-"
version ".tar.xz"))
(sha256
(base32
"0flrw5pq2mg2d39bh6dllndhpcfppjza6g70p4ry2wcx9y2flxqq"))
(patches (list (search-patch "mc-fix-ncurses-build.patch")))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("file" ,file)
("perl" ,perl)))
(inputs `(("aspell" ,aspell)
("ncurses" ,ncurses)
("libssh2" ,libssh2)
("glib" ,glib)
("check" ,check)))
(arguments
`(#:configure-flags
'("--with-screen=ncurses" "--enable-aspell")
#:phases
(alist-cons-before
'configure 'patch-configure
(lambda _
(substitute* "configure"
(("/usr/bin/file") (which "file"))))
%standard-phases)))
(home-page "http://www.midnight-commander.org")
(synopsis "Graphical file manager")
(description
"GNU Midnight Commander is a command-line file manager laid out in a
common two-pane format. In addition to standard file management tasks such as
copying and moving, Midnight Commander also supports viewing the contents of
RPM package files and other archives and managing files on other computers via
FTP or FISH. It also includes a powerful text editor for opening text
files.")
(license gpl2)))

View File

@ -0,0 +1,37 @@
Patch cherry-picked from resolution of
http://www.midnight-commander.org/ticket/3114
--- a/lib/tty/key.c (revision 0ed4a91d7df4e50512defd2e0734ecab7c9da07f)
+++ b/lib/tty/key.c (revision d870aedad1907773f8586fe818a89e6b5178b849)
@@ -1947,4 +1947,5 @@
{
int c;
+ int flag = 0; /* Return value from select */
#ifdef HAVE_LIBGPM
static struct Gpm_Event ev; /* Mouse event */
@@ -1979,5 +1980,4 @@
{
int nfd;
- static int flag = 0; /* Return value from select */
fd_set select_set;
--- a/lib/tty/tty-ncurses.c (revision bb65b467900ea9eb1f7867c059fd26fac86c747c)
+++ b/lib/tty/tty-ncurses.c (revision d870aedad1907773f8586fe818a89e6b5178b849)
@@ -50,4 +50,5 @@
#include "tty.h"
#include "color-internal.h"
+#include "key.h"
#include "mouse.h"
#include "win.h"
@@ -531,4 +532,5 @@
{
int res;
+ unsigned char str[UTF8_CHAR_LEN + 1];
res = g_unichar_to_utf8 (c, (char *) str);
@@ -541,5 +543,4 @@
else
{
- unsigned char str[UTF8_CHAR_LEN + 1];
const char *s;