diff options
Diffstat (limited to 'app-misc/mc/files')
-rw-r--r-- | app-misc/mc/files/chdir-4.6.0.gentoo | 11 | ||||
-rw-r--r-- | app-misc/mc/files/ebuild.syntax | 87 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.0-7zip.patch | 25 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch | 12 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.1-bash-all.patch | 33 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch | 40 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.1-find.patch | 155 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.1-invalid-mtime.patch | 30 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.1-largefile.patch | 194 | ||||
-rw-r--r-- | app-misc/mc/files/mc-4.6.1-nonblock.patch | 11 | ||||
-rw-r--r-- | app-misc/mc/files/mc.gentoo | 16 | ||||
-rw-r--r-- | app-misc/mc/files/mc.ini | 2 |
12 files changed, 616 insertions, 0 deletions
diff --git a/app-misc/mc/files/chdir-4.6.0.gentoo b/app-misc/mc/files/chdir-4.6.0.gentoo new file mode 100644 index 0000000..9332ba0 --- /dev/null +++ b/app-misc/mc/files/chdir-4.6.0.gentoo @@ -0,0 +1,11 @@ + +MC () +{ + mkdir -p $HOME/.mc/tmp 2> /dev/null + chmod 700 $HOME/.mc/tmp + MC=$HOME/.mc/tmp/mc-$$ + /usr/bin/mc -P "$MC" + cd "`cat $MC`" + rm -f "$MC" + unset MC; +} diff --git a/app-misc/mc/files/ebuild.syntax b/app-misc/mc/files/ebuild.syntax new file mode 100644 index 0000000..2148ce2 --- /dev/null +++ b/app-misc/mc/files/ebuild.syntax @@ -0,0 +1,87 @@ +context default + keyword linestart HOMEPAGE brightcyan + keyword linestart DESCRIPTION brightcyan + keyword linestart SRC_URI brightcyan + keyword linestart LICENSE brightcyan + keyword linestart SLOT brightcyan + keyword linestart KEYWORDS brightcyan + keyword linestart IUSE brightcyan + keyword linestart RESTRICT brightcyan + keyword linestart DEPEND brightcyan + keyword linestart RDEPEND brightcyan + keyword linestart EAPI brightcyan + keyword linestart S brightcyan + + keyword whole local yellow + keyword whole use yellow + keyword whole has_version yellow + keyword whole best_version yellow + keyword whole use_with yellow + keyword whole use_enable yellow + keyword whole keepdir yellow + keyword whole econf yellow + keyword whole einstall yellow + keyword whole die yellow + keyword whole einfo yellow + keyword whole elog yellow + keyword whole emake yellow + keyword whole eerror yellow + keyword whole epatch yellow + keyword whole ebegin yellow + keyword whole eend yellow + keyword whole ewarn yellow + keyword whole unpack yellow + + keyword whole diropts yellow + keyword whole dobin yellow + keyword whole docinto yellow + keyword whole dodir yellow + keyword whole dodoc yellow + keyword whole doexe yellow + keyword whole dohard yellow + keyword whole dohtml yellow + keyword whole doinfo yellow + keyword whole doins yellow + keyword whole dolib.a yellow + keyword whole dolib.so yellow + keyword whole dolib yellow + keyword whole doman yellow + keyword whole dosbin yellow + keyword whole dosym yellow + keyword whole exeinto yellow + keyword whole exeopts yellow + keyword whole fowners yellow + keyword whole fperms yellow + keyword whole insinto yellow + keyword whole insopts yellow + keyword whole into yellow + keyword whole libopts yellow + keyword whole newbin yellow + keyword whole newdoc yellow + keyword whole newexe yellow + keyword whole newins yellow + keyword whole newman yellow + keyword whole newsbin yellow + keyword whole prepall yellow + keyword whole prepalldocs yellow + keyword whole prepallinfo yellow + keyword whole prepallman yellow + + keyword = yellow + keyword : yellow + keyword ${+} brightgreen + + keyword linestart abcdefghijklmnopqrstuvwxyz_\(\) brightmagenta + + keyword *() brightcyan + + keyword { magenta + keyword } magenta + +context linestart inherit \n magenta + keyword whole inherit yellow + +context # \n red + +context " " green + keyword wholeright ${+} brightgreen diff --git a/app-misc/mc/files/mc-4.6.0-7zip.patch b/app-misc/mc/files/mc-4.6.0-7zip.patch new file mode 100644 index 0000000..29cda12 --- /dev/null +++ b/app-misc/mc/files/mc-4.6.0-7zip.patch @@ -0,0 +1,25 @@ +--- lib/mc.ext.in.old 2003-01-30 17:48:33.000000000 +0200 ++++ lib/mc.ext.in 2004-11-08 16:51:59.429212632 +0200 +@@ -143,6 +143,12 @@ + shell/.info + Open=info -f %f + ++# 7-Zip, Needs to be before manual page definitions ++regex/\.(7z|7Z)$ ++ View=%view{ascii} 7za l %f 2>/dev/null ++ Open=%cd %p#u7z ++ ++ + # Manual page + # Exception - .so libraries are not manual pages + regex/\.(so|so\.[0-9\.]*)$ +--- vfs/extfs/extfs.ini.old 2002-12-09 16:16:33.000000000 +0200 ++++ vfs/extfs/extfs.ini 2004-10-25 13:56:04.000000000 +0300 +@@ -7,6 +7,7 @@ + ulha + urar + uha ++u7z + # For arj usage you need a special patch to unarj (see unarj.diff) + uarj + diff --git a/app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch b/app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch new file mode 100644 index 0000000..ce59dd3 --- /dev/null +++ b/app-misc/mc/files/mc-4.6.0-ebuild-syntax.patch @@ -0,0 +1,12 @@ +--- Syntax 2004-08-20 22:52:37.145034864 +0200 ++++ Syntax.new 2004-08-20 22:52:19.000000000 +0200 +@@ -116,6 +116,9 @@ + file Don_t_match_me Mail\sfolder ^From\s + include mail.syntax + ++file .\*\\.(ebuild|eclass)$ Gentoo\sEbuild ++include ebuild.syntax ++ + file .\* unknown + include unknown.syntax + diff --git a/app-misc/mc/files/mc-4.6.1-bash-all.patch b/app-misc/mc/files/mc-4.6.1-bash-all.patch new file mode 100644 index 0000000..d161281 --- /dev/null +++ b/app-misc/mc/files/mc-4.6.1-bash-all.patch @@ -0,0 +1,33 @@ +--- a/src/subshell.c 2006-05-08 23:11:48.000000000 +0200 ++++ b/src/subshell.c 2006-10-28 15:40:46.000000000 +0200 +@@ -745,29 +745,13 @@ subshell_name_quote (const char *s) + memcpy (d, cmd_start, len); + d += len; + +- /* +- * Print every character in octal format with the leading backslash. +- * tcsh and zsh may require 4-digit octals, bash < 2.05b doesn't like them. +- */ +- if (subshell_type == BASH) { + for (; *s; s++) { +- /* Must quote numbers, so that they are not glued to octals */ + if (isalpha ((unsigned char) *s)) { + *d++ = (unsigned char) *s; + } else { +- sprintf (d, "\\%03o", (unsigned char) *s); +- d += 4; +- } +- } +- } else { +- for (; *s; s++) { +- if (isalnum ((unsigned char) *s)) { +- *d++ = (unsigned char) *s; +- } else { + sprintf (d, "\\0%03o", (unsigned char) *s); + d += 5; + } +- } + } + + memcpy (d, common_end, sizeof (common_end)); + diff --git a/app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch b/app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch new file mode 100644 index 0000000..53aedd0 --- /dev/null +++ b/app-misc/mc/files/mc-4.6.1-charset-locale-aliases.patch @@ -0,0 +1,40 @@ +diff -ruN mc-4.6.1.orig/intl/Makefile.in mc-4.6.1/intl/Makefile.in +--- mc-4.6.1.orig/intl/Makefile.in 2007-03-06 22:31:02.000000000 +0300 ++++ mc-4.6.1/intl/Makefile.in 2007-03-06 22:38:52.000000000 +0300 +@@ -156,12 +156,7 @@ + test @GLIBC21@ != no || $(mkinstalldirs) $(DESTDIR)$(libdir); \ + temp=$(DESTDIR)$(libdir)/t-charset.alias; \ + dest=$(DESTDIR)$(libdir)/charset.alias; \ +- if test -f $(DESTDIR)$(libdir)/charset.alias; then \ +- orig=$(DESTDIR)$(libdir)/charset.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ +- else \ ++ if ! test -f $(libdir)/charset.alias; then \ + if test @GLIBC21@ = no; then \ + orig=charset.alias; \ + sed -f ref-add.sed $$orig > $$temp; \ +@@ -170,14 +165,14 @@ + fi; \ + fi; \ + $(mkinstalldirs) $(DESTDIR)$(localedir); \ +- test -f $(DESTDIR)$(localedir)/locale.alias \ +- && orig=$(DESTDIR)$(localedir)/locale.alias \ +- || orig=$(srcdir)/locale.alias; \ +- temp=$(DESTDIR)$(localedir)/t-locale.alias; \ +- dest=$(DESTDIR)$(localedir)/locale.alias; \ +- sed -f ref-add.sed $$orig > $$temp; \ +- $(INSTALL_DATA) $$temp $$dest; \ +- rm -f $$temp; \ ++ if ! test -f $(localedir)/locale.alias; then \ ++ orig=$(srcdir)/locale.alias; \ ++ temp=$(DESTDIR)$(localedir)/t-locale.alias; \ ++ dest=$(DESTDIR)$(localedir)/locale.alias; \ ++ sed -f ref-add.sed $$orig > $$temp; \ ++ $(INSTALL_DATA) $$temp $$dest; \ ++ rm -f $$temp; \ ++ fi; \ + else \ + : ; \ + fi diff --git a/app-misc/mc/files/mc-4.6.1-find.patch b/app-misc/mc/files/mc-4.6.1-find.patch new file mode 100644 index 0000000..f44a6ac --- /dev/null +++ b/app-misc/mc/files/mc-4.6.1-find.patch @@ -0,0 +1,155 @@ +diff -Naur mc-4.6.1.orig/src/cmd.c mc-4.6.1/src/cmd.c +--- mc-4.6.1.orig/src/cmd.c 2005-05-27 16:19:18.000000000 +0200 ++++ mc-4.6.1/src/cmd.c 2006-03-19 12:57:00.000000000 +0100 +@@ -510,7 +510,7 @@ + continue; + } + c = regexp_match (reg_exp_t, current_panel->dir.list[i].fname, +- match_file); ++ match_file, 0); + if (c == -1) { + message (1, MSG_ERROR, _(" Malformed regular expression ")); + g_free (reg_exp); +diff -Naur mc-4.6.1.orig/src/dir.c mc-4.6.1/src/dir.c +--- mc-4.6.1.orig/src/dir.c 2005-05-27 16:19:18.000000000 +0200 ++++ mc-4.6.1/src/dir.c 2006-03-19 12:58:56.000000000 +0100 +@@ -405,7 +405,7 @@ + *stale_link = 1; + } + if (!(S_ISDIR (buf1->st_mode) || *link_to_dir) && filter +- && !regexp_match (filter, dp->d_name, match_file)) ++ && !regexp_match (filter, dp->d_name, match_file, 0)) + return 0; + + /* Need to grow the *list? */ +diff -Naur mc-4.6.1.orig/src/ext.c mc-4.6.1/src/ext.c +--- mc-4.6.1.orig/src/ext.c 2005-05-27 16:19:18.000000000 +0200 ++++ mc-4.6.1/src/ext.c 2006-03-19 13:00:43.000000000 +0100 +@@ -394,7 +394,7 @@ + } + + if (content_string[0] +- && regexp_match (ptr, content_string + content_shift, match_regex)) { ++ && regexp_match (ptr, content_string + content_shift, match_regex, 0)) { + found = 1; + } + +@@ -534,11 +534,11 @@ + /* Do not transform shell patterns, you can use shell/ for + * that + */ +- if (regexp_match (p, filename, match_regex)) ++ if (regexp_match (p, filename, match_regex, 0)) + found = 1; + } else if (!strncmp (p, "directory/", 10)) { + if (S_ISDIR (mystat.st_mode) +- && regexp_match (p + 10, filename, match_regex)) ++ && regexp_match (p + 10, filename, match_regex, 0)) + found = 1; + } else if (!strncmp (p, "shell/", 6)) { + p += 6; +diff -Naur mc-4.6.1.orig/src/find.c mc-4.6.1/src/find.c +--- mc-4.6.1.orig/src/find.c 2005-05-27 16:19:18.000000000 +0200 ++++ mc-4.6.1/src/find.c 2006-03-19 13:04:10.000000000 +0100 +@@ -575,6 +575,7 @@ + struct stat tmp_stat; + static int pos; + static int subdirs_left = 0; ++ int flags = 0; + + if (!h) { /* someone forces me to close dirp */ + if (dirp) { +@@ -586,6 +587,10 @@ + dp = 0; + return 1; + } ++ ++ if (!(case_sense->state & C_BOOL)) ++ flags |= REG_ICASE; ++ + do_search_begin: + while (!dp){ + +@@ -662,7 +667,7 @@ + g_free (tmp_name); + } + +- if (regexp_match (find_pattern, dp->d_name, match_file)){ ++ if (regexp_match (find_pattern, dp->d_name, match_file, flags)){ + if (content_pattern) { + if (search_content (h, directory, dp->d_name)) { + return 1; +diff -Naur mc-4.6.1.orig/src/user.c mc-4.6.1/src/user.c +--- mc-4.6.1.orig/src/user.c 2005-07-01 17:47:07.000000000 +0200 ++++ mc-4.6.1/src/user.c 2006-03-19 13:05:00.000000000 +0100 +@@ -412,18 +412,18 @@ + break; + case 'f': /* file name pattern */ + p = extract_arg (p, arg, sizeof (arg)); +- *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file); ++ *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file, 0); + break; + case 'y': /* syntax pattern */ + if (edit_widget && edit_widget->syntax_type) { + p = extract_arg (p, arg, sizeof (arg)); + *condition = panel && +- regexp_match (arg, edit_widget->syntax_type, match_normal); ++ regexp_match (arg, edit_widget->syntax_type, match_normal, 0); + } + break; + case 'd': + p = extract_arg (p, arg, sizeof (arg)); +- *condition = panel && regexp_match (arg, panel->cwd, match_file); ++ *condition = panel && regexp_match (arg, panel->cwd, match_file, 0); + break; + case 't': + p = extract_arg (p, arg, sizeof (arg)); +diff -Naur mc-4.6.1.orig/src/util.c mc-4.6.1/src/util.c +--- mc-4.6.1.orig/src/util.c 2005-05-27 16:19:18.000000000 +0200 ++++ mc-4.6.1/src/util.c 2006-03-19 13:06:58.000000000 +0100 +@@ -563,27 +563,30 @@ + return g_strdup (pattern); + } + +-int regexp_match (const char *pattern, const char *string, int match_type) ++int regexp_match (const char *pattern, const char *string, int match_type, int flags) + { + static regex_t r; + static char *old_pattern = NULL; + static int old_type; ++ static int old_flags; + int rval; + char *my_pattern; + +- if (!old_pattern || STRCOMP (old_pattern, pattern) || old_type != match_type){ ++ if (!old_pattern || STRCOMP (old_pattern, pattern) || old_type != match_type || old_flags != flags){ + if (old_pattern){ + regfree (&r); + g_free (old_pattern); + old_pattern = NULL; + } + my_pattern = convert_pattern (pattern, match_type, 0); +- if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS)) { ++ ++ if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS|flags)) { + g_free (my_pattern); + return -1; + } + old_pattern = my_pattern; + old_type = match_type; ++ old_flags = flags; + } + rval = !regexec (&r, string, 0, NULL, 0); + return rval; +diff -Naur mc-4.6.1.orig/src/util.h mc-4.6.1/src/util.h +--- mc-4.6.1.orig/src/util.h 2005-01-13 20:20:47.000000000 +0100 ++++ mc-4.6.1/src/util.h 2006-03-19 13:07:16.000000000 +0100 +@@ -116,7 +116,7 @@ + + extern int easy_patterns; + char *convert_pattern (const char *pattern, int match_type, int do_group); +-int regexp_match (const char *pattern, const char *string, int match_type); ++int regexp_match (const char *pattern, const char *string, int match_type, int flags); + + /* Error pipes */ + void open_error_pipe (void); diff --git a/app-misc/mc/files/mc-4.6.1-invalid-mtime.patch b/app-misc/mc/files/mc-4.6.1-invalid-mtime.patch new file mode 100644 index 0000000..07b1f6d --- /dev/null +++ b/app-misc/mc/files/mc-4.6.1-invalid-mtime.patch @@ -0,0 +1,30 @@ + + Invalid timestamps on files caused mc to segfault by passing a null + pointer to strftime. Avoid trying to print the time in this case. + + Reported by Maxim Britov <maxim@office.modum.by> + at http://bugs.gentoo.org/184296 + +--- mc-4.6.1/src/util.c ++++ mc-4.6.1/src/util.c +@@ -717,6 +717,7 @@ + static size_t i18n_timelength = 0; + static const char *fmtyear, *fmttime; + const char *fmt; ++ struct tm *whentm; + + if (i18n_timelength == 0){ + i18n_timelength = i18n_checktimelength() + 1; +@@ -740,7 +741,11 @@ + else + fmt = fmttime; + +- strftime (timebuf, i18n_timelength, fmt, localtime(&when)); ++ whentm = localtime(&when); ++ if (whentm == NULL) ++ return "(invalid)"; ++ ++ strftime (timebuf, i18n_timelength, fmt, whentm); + return timebuf; + } + diff --git a/app-misc/mc/files/mc-4.6.1-largefile.patch b/app-misc/mc/files/mc-4.6.1-largefile.patch new file mode 100644 index 0000000..de30715 --- /dev/null +++ b/app-misc/mc/files/mc-4.6.1-largefile.patch @@ -0,0 +1,194 @@ +diff -Naur mc-4.6.1.orig/intl/loadmsgcat.c mc-4.6.1/intl/loadmsgcat.c +--- mc-4.6.1.orig/intl/loadmsgcat.c 2005-07-23 18:52:57.000000000 +0200 ++++ mc-4.6.1/intl/loadmsgcat.c 2006-03-19 17:11:14.000000000 +0100 +@@ -1002,7 +1002,7 @@ + /* The magic number is wrong: not a message catalog file. */ + #ifdef HAVE_MMAP + if (use_mmap) +- munmap ((caddr_t) data, size); ++ munmap ((void *) data, size); + else + #endif + free (data); +@@ -1271,7 +1271,7 @@ + free (domain->malloced); + #ifdef HAVE_MMAP + if (use_mmap) +- munmap ((caddr_t) data, size); ++ munmap ((void *) data, size); + else + #endif + free (data); +@@ -1306,7 +1306,7 @@ + + # ifdef _POSIX_MAPPED_FILES + if (domain->use_mmap) +- munmap ((caddr_t) domain->data, domain->mmap_size); ++ munmap ((void *) domain->data, domain->mmap_size); + else + # endif /* _POSIX_MAPPED_FILES */ + free ((void *) domain->data); +diff -Naur mc-4.6.1.orig/src/view.c mc-4.6.1/src/view.c +--- mc-4.6.1.orig/src/view.c 2005-05-27 16:19:18.000000000 +0200 ++++ mc-4.6.1/src/view.c 2006-03-19 17:10:34.000000000 +0100 +@@ -76,6 +76,12 @@ + #define vwidth (view->widget.cols - (view->have_frame ? 2 : 0)) + #define vheight (view->widget.lines - (view->have_frame ? 2 : 0)) + ++#if GLIB_MAJOR_VERSION >= 2 ++# define my_g_malloc g_try_malloc ++#else ++# define my_g_malloc g_malloc ++#endif ++ + /* Offset in bytes into a file */ + typedef unsigned long offset_type; + #define INVALID_OFFSET ((offset_type) -1) +@@ -560,8 +566,8 @@ + view->data = mc_mmap (0, view->s.st_size, PROT_READ, + MAP_FILE | MAP_SHARED, view->file, 0); + else +- view->data = (caddr_t) -1; +- if ((caddr_t) view->data != (caddr_t) - 1) { ++ view->data = (void *) -1; ++ if (view->data != (void *)-1) { + /* mmap worked */ + view->first = 0; + view->bytes_read = view->s.st_size; +@@ -573,6 +579,9 @@ + /* For the OSes that don't provide mmap call, try to load all the + * file into memory (alex@bcs.zaporizhzhe.ua). Also, mmap can fail + * for any reason, so we use this as fallback (pavel@ucw.cz) */ ++ ++ /* If large file support is enabled, st_size is a 64 bit value and ++ * will thus on 32 bit platforms possibly be beyond the range of gulong */ + + /* Make sure view->s.st_size is not truncated when passed to g_malloc */ + if ((gulong) view->s.st_size == view->s.st_size) +diff -Naur mc-4.6.1.orig/vfs/local.c mc-4.6.1/vfs/local.c +--- mc-4.6.1.orig/vfs/local.c 2004-09-25 01:00:18.000000000 +0200 ++++ mc-4.6.1/vfs/local.c 2006-03-19 17:00:45.000000000 +0100 +@@ -243,8 +243,8 @@ + } + + #ifdef HAVE_MMAP +-caddr_t +-local_mmap (struct vfs_class *me, caddr_t addr, size_t len, int prot, int flags, void *data, off_t offset) ++void * ++local_mmap (struct vfs_class *me, void *addr, size_t len, int prot, int flags, void *data, off_t offset) + { + int fd = * (int *)data; + +@@ -252,7 +252,7 @@ + } + + int +-local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void *data) ++local_munmap (struct vfs_class *me, void *addr, size_t len, void *data) + { + return munmap (addr, len); + } +diff -Naur mc-4.6.1.orig/vfs/local.h mc-4.6.1/vfs/local.h +--- mc-4.6.1.orig/vfs/local.h 2004-08-17 11:17:43.000000000 +0200 ++++ mc-4.6.1/vfs/local.h 2006-03-19 17:01:35.000000000 +0100 +@@ -13,9 +13,9 @@ + extern int local_errno (struct vfs_class *me); + extern int local_lseek (void *data, off_t offset, int whence); + #ifdef HAVE_MMAP +-extern caddr_t local_mmap (struct vfs_class *me, caddr_t addr, size_t len, ++extern void *local_mmap (struct vfs_class *me, void *addr, size_t len, + int prot, int flags, void *data, off_t offset); +-extern int local_munmap (struct vfs_class *me, caddr_t addr, size_t len, void *data); ++extern int local_munmap (struct vfs_class *me, void *addr, size_t len, void *data); + #endif + + #endif +diff -Naur mc-4.6.1.orig/vfs/samba/lib/util.c mc-4.6.1/vfs/samba/lib/util.c +--- mc-4.6.1.orig/vfs/samba/lib/util.c 2005-05-27 16:19:19.000000000 +0200 ++++ mc-4.6.1/vfs/samba/lib/util.c 2006-03-19 17:06:39.000000000 +0100 +@@ -1836,7 +1836,7 @@ + + /* Look up the host address in the address list we just got. */ + for (i = 0; hp->h_addr_list[i]; i++) { +- if (memcmp(hp->h_addr_list[i], (caddr_t) & addr, sizeof(addr)) == 0) ++ if (memcmp(hp->h_addr_list[i], &addr, sizeof(addr)) == 0) + return True; + } + +diff -Naur mc-4.6.1.orig/vfs/vfs.c mc-4.6.1/vfs/vfs.c +--- mc-4.6.1.orig/vfs/vfs.c 2005-05-27 16:19:19.000000000 +0200 ++++ mc-4.6.1/vfs/vfs.c 2006-03-19 17:03:48.000000000 +0100 +@@ -740,27 +740,27 @@ + + #ifdef HAVE_MMAP + static struct mc_mmapping { +- caddr_t addr; ++ void *addr; + void *vfs_info; + struct vfs_class *vfs; + struct mc_mmapping *next; + } *mc_mmaparray = NULL; + +-caddr_t +-mc_mmap (caddr_t addr, size_t len, int prot, int flags, int fd, off_t offset) ++void * ++mc_mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) + { + struct vfs_class *vfs; +- caddr_t result; ++ void *result; + struct mc_mmapping *mcm; + + if (fd == -1) +- return (caddr_t) -1; ++ return (void *) -1; + + vfs = vfs_op (fd); +- result = vfs->mmap ? (*vfs->mmap)(vfs, addr, len, prot, flags, vfs_info (fd), offset) : (caddr_t)-1; +- if (result == (caddr_t)-1){ ++ result = vfs->mmap ? (*vfs->mmap)(vfs, addr, len, prot, flags, vfs_info (fd), offset) : (void *)-1; ++ if (result == (void *)-1){ + errno = ferrno (vfs); +- return (caddr_t)-1; ++ return (void *)-1; + } + mcm =g_new (struct mc_mmapping, 1); + mcm->addr = result; +@@ -772,7 +772,7 @@ + } + + int +-mc_munmap (caddr_t addr, size_t len) ++mc_munmap (void *addr, size_t len) + { + struct mc_mmapping *mcm, *mcm2 = NULL; + +diff -Naur mc-4.6.1.orig/vfs/vfs.h mc-4.6.1/vfs/vfs.h +--- mc-4.6.1.orig/vfs/vfs.h 2004-11-16 17:16:08.000000000 +0100 ++++ mc-4.6.1/vfs/vfs.h 2006-03-19 17:05:57.000000000 +0100 +@@ -49,8 +49,8 @@ + int mc_ctl (int fd, int ctlop, void *arg); + int mc_setctl (const char *path, int ctlop, void *arg); + #ifdef HAVE_MMAP +-caddr_t mc_mmap (caddr_t, size_t, int, int, int, off_t); +-int mc_munmap (caddr_t addr, size_t len); ++void *mc_mmap (void *, size_t, int, int, int, off_t); ++int mc_munmap (void *addr, size_t len); + #endif /* HAVE_MMAP */ + + /* Operations for mc_ctl - on open file */ +diff -Naur mc-4.6.1.orig/vfs/vfs-impl.h mc-4.6.1/vfs/vfs-impl.h +--- mc-4.6.1.orig/vfs/vfs-impl.h 2004-09-02 15:57:59.000000000 +0200 ++++ mc-4.6.1/vfs/vfs-impl.h 2006-03-19 17:12:01.000000000 +0100 +@@ -72,9 +72,9 @@ + int (*setctl) (struct vfs_class *me, const char *path, int ctlop, + void *arg); + #ifdef HAVE_MMAP +- caddr_t (*mmap) (struct vfs_class *me, caddr_t addr, size_t len, ++ void *(*mmap) (struct vfs_class *me, void *addr, size_t len, + int prot, int flags, void *vfs_info, off_t offset); +- int (*munmap) (struct vfs_class *me, caddr_t addr, size_t len, ++ int (*munmap) (struct vfs_class *me, void *addr, size_t len, + void *vfs_info); + #endif + }; diff --git a/app-misc/mc/files/mc-4.6.1-nonblock.patch b/app-misc/mc/files/mc-4.6.1-nonblock.patch new file mode 100644 index 0000000..eca34aa --- /dev/null +++ b/app-misc/mc/files/mc-4.6.1-nonblock.patch @@ -0,0 +1,11 @@ +--- mc-4.6.1/src/cons.saver.c.old 2006-04-30 20:45:11.725128977 +0200 ++++ mc-4.6.1/src/cons.saver.c 2006-04-30 20:45:55.545063247 +0200 +@@ -134,7 +134,7 @@ + + if (seteuid (uid) < 0) + die (); +- console_fd = open (tty_name, O_RDONLY); ++ console_fd = open (tty_name, O_RDONLY | O_NONBLOCK); + if (console_fd < 0) + die (); + if (fstat (console_fd, &st) < 0 || ! S_ISCHR (st.st_mode)) diff --git a/app-misc/mc/files/mc.gentoo b/app-misc/mc/files/mc.gentoo new file mode 100644 index 0000000..a71d249 --- /dev/null +++ b/app-misc/mc/files/mc.gentoo @@ -0,0 +1,16 @@ +#!/bin/sh + +# A little fix so mc exits into it's current working directory +MC_ENV=/usr/share/mc/bin/mc.sh + +for i in $MC_ENV; do + if [ -x $i ]; then + . $i + fi +done + +# include this, so also xterm,kterm,gterm,etc will have default bash settings + +#if [ "x$SHLVL" != "x1" ]; then # We're not a login shell +# . /etc/profile +#fi diff --git a/app-misc/mc/files/mc.ini b/app-misc/mc/files/mc.ini new file mode 100644 index 0000000..890658e --- /dev/null +++ b/app-misc/mc/files/mc.ini @@ -0,0 +1,2 @@ +[Midnight-Commander] +use_8th_bit_as_meta=0 |