summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Arnold <nerdboy@gentoo.org>2006-03-26 05:46:55 +0000
committerSteve Arnold <nerdboy@gentoo.org>2006-03-26 05:46:55 +0000
commit4d0b1f522c0876eac564249e9b170af8269a452a (patch)
tree59e6f24a01bcb8a1b65eade0e55373167cf32123 /app-misc/mc
parentMark 3.4.3 stable on ia64 (diff)
downloadhistorical-4d0b1f522c0876eac564249e9b170af8269a452a.tar.gz
historical-4d0b1f522c0876eac564249e9b170af8269a452a.tar.bz2
historical-4d0b1f522c0876eac564249e9b170af8269a452a.zip
Adding updated ebuild for bug #102356, suitably modified
Package-Manager: portage-2.0.54
Diffstat (limited to 'app-misc/mc')
-rw-r--r--app-misc/mc/ChangeLog12
-rw-r--r--app-misc/mc/Manifest52
-rw-r--r--app-misc/mc/files/digest-mc-4.6.19
-rw-r--r--app-misc/mc/files/mc-4.6.1-find.patch155
-rw-r--r--app-misc/mc/files/mc-4.6.1-largefile.patch194
-rw-r--r--app-misc/mc/mc-4.6.1.ebuild140
6 files changed, 514 insertions, 48 deletions
diff --git a/app-misc/mc/ChangeLog b/app-misc/mc/ChangeLog
index fdc1cf888be5..4a0d70f51a32 100644
--- a/app-misc/mc/ChangeLog
+++ b/app-misc/mc/ChangeLog
@@ -1,6 +1,16 @@
# ChangeLog for app-misc/mc
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/mc/ChangeLog,v 1.89 2006/03/11 10:53:45 blubb Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/mc/ChangeLog,v 1.90 2006/03/26 05:46:55 nerdboy Exp $
+
+*mc-4.6.1 (26 Mar 2006)
+
+ 26 Mar 2006; Steve Arnold <nerdboy@gentoo.org> +files/mc-4.6.1-find.patch,
+ +files/mc-4.6.1-largefile.patch, +mc-4.6.1.ebuild:
+ Adding updated ebuild for bug #102356, suitably modified, since this
+ issue needs resolution (what can I say, I made a command decision :)
+ Thanks to Rafael Antonio Porras <Rafa@dilmun.ls.fi.upm.es> for porting
+ the patches and posting the updated ebuild (the UTF-8 patch is in
+ distfiles).
11 Mar 2006; Simon Stelling <blubb@gentoo.org> mc-4.6.0-r12.ebuild,
mc-4.6.0-r13.ebuild, mc-4.6.0-r14.ebuild:
diff --git a/app-misc/mc/Manifest b/app-misc/mc/Manifest
index 05445e61893c..60fc2af48906 100644
--- a/app-misc/mc/Manifest
+++ b/app-misc/mc/Manifest
@@ -1,69 +1,27 @@
-MD5 55e17f671b58110866fa59d7babff558 ChangeLog 13034
-RMD160 da4dea1e79554e566e3f689cb2d967c7511f6704 ChangeLog 13034
-SHA256 e4f0cf44c7fd582d137f51bc854e00b17e4ae546711a631f18d8b43500872c67 ChangeLog 13034
+MD5 7713426466898eb01d8ddc661a16ed7d ChangeLog 13490
MD5 9f528fa7b6b4d2c202ce5f4e3a5173ba files/chdir-4.6.0.gentoo 159
-RMD160 5edd511a40033bc11ed6e486edcce5b23c8305a2 files/chdir-4.6.0.gentoo 159
-SHA256 92fbe981eda972767866b388548c1837dcc32b06549b2dcf3c44d8bfe62d398f files/chdir-4.6.0.gentoo 159
MD5 f73f42d12436a5b630604df092ce3fa2 files/digest-mc-4.6.0-r12 858
-RMD160 6f137065e75b2756b61a2ef4ff324394b1145bbf files/digest-mc-4.6.0-r12 858
-SHA256 c8499803d0d6173ed15b5ec3fadfa51cf22617c89575129747e68b8b4eb0e14b files/digest-mc-4.6.0-r12 858
MD5 f73f42d12436a5b630604df092ce3fa2 files/digest-mc-4.6.0-r13 858
-RMD160 6f137065e75b2756b61a2ef4ff324394b1145bbf files/digest-mc-4.6.0-r13 858
-SHA256 c8499803d0d6173ed15b5ec3fadfa51cf22617c89575129747e68b8b4eb0e14b files/digest-mc-4.6.0-r13 858
MD5 12eefa2f5d1a08a0101af33a27ebf7f4 files/digest-mc-4.6.0-r14 1126
-RMD160 a63b15484129e702f78a0d0c1cd89d76869f70da files/digest-mc-4.6.0-r14 1126
-SHA256 2d825be0c5a907121385b4b42b3dbd1935ceaac8f4cf22afd91d702509a43b9d files/digest-mc-4.6.0-r14 1126
+MD5 3ef06152e915e8603f9064ee6ee375b4 files/digest-mc-4.6.1 711
MD5 33aafc4a9c8134eb13d62fed6b81888e files/ebuild.syntax 2588
-RMD160 ce59ba4451f5df962632683b4ba84b3fd6fa7e4c files/ebuild.syntax 2588
-SHA256 532894f690c04c4394f5396ded4545d91924a7e853fa0f190bc55323e27901b2 files/ebuild.syntax 2588
MD5 d157d2a6836514f758dc3ae9149ae178 files/mc-4.6.0-7zip.patch 631
-RMD160 aee1d87da11c95e18e189874832b97e43521e8e0 files/mc-4.6.0-7zip.patch 631
-SHA256 1d4b3644f5dba7caa438bd14fa6b93542cd8a421b1236e2a10870a485a1ed976 files/mc-4.6.0-7zip.patch 631
MD5 d9519efa7db0aaf795556ac29cadd4ad files/mc-4.6.0-bug-102356.patch 1378
-RMD160 d6a6464c6967fbd03fae0b994a7bfd63cfe602bc files/mc-4.6.0-bug-102356.patch 1378
-SHA256 077504365ede1745df1cb031829990e9b0a8a7105e3b42a17ead3d201cf35767 files/mc-4.6.0-bug-102356.patch 1378
MD5 b1748f6df163b5087abe24b4a6143123 files/mc-4.6.0-can-2004-1004-1005-1092-1176.patch 3444
-RMD160 31ed4cf5db58430701cc4cdaf85d67b46dd9ad80 files/mc-4.6.0-can-2004-1004-1005-1092-1176.patch 3444
-SHA256 f0eed847d94151666a2bfd6b70db798006c1544c17771a6c68b1db42c6ecc2c1 files/mc-4.6.0-can-2004-1004-1005-1092-1176.patch 3444
MD5 2a6c3ed30597eadaa19a6dbdd3ce168d files/mc-4.6.0-cpan-2003-1023.patch 475
-RMD160 ad44a50544630b3ae039e8d5dfcfb5ba6aecefee files/mc-4.6.0-cpan-2003-1023.patch 475
-SHA256 886d45e47ca7aad58c2e5b4f1b5fad70a4acd0d032f688b8deb4b3551c44c7c2 files/mc-4.6.0-cpan-2003-1023.patch 475
MD5 6356abe34b8907ad2cfedd4cf8ef365e files/mc-4.6.0-ebuild-syntax.patch 296
-RMD160 adc93b215cb7d092226a8a6dc6d7eb1114d031fc files/mc-4.6.0-ebuild-syntax.patch 296
-SHA256 18787cc1605326aea8e71573780c02992e31404bde79b02b63ca1d2bb14a5aef files/mc-4.6.0-ebuild-syntax.patch 296
MD5 169bb0ff53b2a9c5271503bbcbccf3df files/mc-4.6.0-find.patch 5798
-RMD160 3f07937ebf0e4969dc5653efe64e868d8a9015f4 files/mc-4.6.0-find.patch 5798
-SHA256 45da24b5084cc9e3b884ebeef210407de3f2533fbbb08871ae7ba91a9c4c71aa files/mc-4.6.0-find.patch 5798
MD5 99fd5760d0ddfc08292de6a62b573e73 files/mc-4.6.0-ftp.patch 285
-RMD160 6d3db0d0bed4f627304446d631daa2617d114841 files/mc-4.6.0-ftp.patch 285
-SHA256 a9f618b71667385388b3f02f46d455af0c605578a0e2230592749067cdf934ae files/mc-4.6.0-ftp.patch 285
MD5 76ff126c3a7eb5dba1bf09f30628bf45 files/mc-4.6.0-gcc4.patch 703
-RMD160 ddec3ea006a0c131a4e329b5ad1bcedc26020eff files/mc-4.6.0-gcc4.patch 703
-SHA256 cb97b241800bad7624352ff8fc06c99050c9ad753a02f6f828c5b07b2c714a3b files/mc-4.6.0-gcc4.patch 703
MD5 b07d2f1ccf2c5b607caaeaa82ad1681e files/mc-4.6.0-key.c.patch 811
-RMD160 8a451a792fb5a6e2941235418d27917d762e3562 files/mc-4.6.0-key.c.patch 811
-SHA256 343bedb4cbc2b4b39db1e124ad94521a82f7ce1e570287a97419e349252ffe35 files/mc-4.6.0-key.c.patch 811
MD5 3bb3f2fa14fdb654e1352bdd406d848f files/mc-4.6.0-largefile.patch 5751
-RMD160 a47313378b98cc5bf19870252362452a54424dac files/mc-4.6.0-largefile.patch 5751
-SHA256 7d2be69f0fedf9795819871db2caaf3b8fba5f8c63eb0c2f996cc935b64ae684 files/mc-4.6.0-largefile.patch 5751
MD5 4df4331a2db0f5e9c0f2c0c9bb683fc3 files/mc-4.6.0-vfs.patch 336
-RMD160 bb9c76cf40857881d57aef1e68454f27d3add5a8 files/mc-4.6.0-vfs.patch 336
-SHA256 2de47b6faf1fd27c19f62f1f6f66a5cfd823851fb731997bbae2d1ae6f8b7fc1 files/mc-4.6.0-vfs.patch 336
+MD5 3c950491cdf44091df216cfa709d133a files/mc-4.6.1-find.patch 5522
+MD5 80b45ecf38d9b5df6d368c83d14fd89d files/mc-4.6.1-largefile.patch 6919
MD5 835695dda387b59a2497658f3f5af1d5 files/mc.gentoo 322
-RMD160 957d5127be68de3eca20ac3121607faa1370d997 files/mc.gentoo 322
-SHA256 6dff61a04bf35cbc5c9570e3ad194a8d8ffd255096c977997d11aa59cd0f24c9 files/mc.gentoo 322
MD5 7fadf4867e255f1d7254181267759775 files/mc.ini 43
-RMD160 2254610744c484553cd3332a4f45e439b13cceed files/mc.ini 43
-SHA256 ed0921487e74b913fa34f4d672584b64da6cf5d592b17c65328621934a4d46f1 files/mc.ini 43
MD5 c42244c2184c9194d04a6402e3c23dd3 mc-4.6.0-r12.ebuild 3259
-RMD160 9d2a75101862bb6c315c6ffce0eb70897020e567 mc-4.6.0-r12.ebuild 3259
-SHA256 cf2ba99b0def91fa3796419676845a7ef3b34408d2d3ff0d9dfad875998a3237 mc-4.6.0-r12.ebuild 3259
MD5 b4de21db78a35b5c10b86cb4cfa3873b mc-4.6.0-r13.ebuild 3405
-RMD160 2494291442a27d92fe993de1b787622e850d1eb1 mc-4.6.0-r13.ebuild 3405
-SHA256 0679cda9b5ea245c708fa3190f0c13e8e990a3c44a0fe8edb99ec05e08f59fb0 mc-4.6.0-r13.ebuild 3405
MD5 da0e80d1aa4cd507e06461fb59049a18 mc-4.6.0-r14.ebuild 4081
-RMD160 31f544912eea155c0716f87da9f798ac4c2d3328 mc-4.6.0-r14.ebuild 4081
-SHA256 b2b14b5120ff0b0e76e788facf7265857d3b334845bc3cc7d2e0101d224f04a8 mc-4.6.0-r14.ebuild 4081
+MD5 430d0187bd065083725af76168797986 mc-4.6.1.ebuild 3550
MD5 503ccb1138f9c49f0855884d830988a6 metadata.xml 253
-RMD160 bfa92d311ac4e8cc9a2190f578925f333ae096a8 metadata.xml 253
-SHA256 8e0389110e0cd8cc331b484cde34c22dd93f9f49df16c2263eea4d8e84093976 metadata.xml 253
diff --git a/app-misc/mc/files/digest-mc-4.6.1 b/app-misc/mc/files/digest-mc-4.6.1
new file mode 100644
index 000000000000..17b4ba9611d2
--- /dev/null
+++ b/app-misc/mc/files/digest-mc-4.6.1
@@ -0,0 +1,9 @@
+MD5 becd9c9ecefbaed5bfb453cad2e4725a mc-4.6.1-utf8.patch.bz2 30401
+RMD160 f23680c85328b4b0435065f9e5cf430e0cd6b0c4 mc-4.6.1-utf8.patch.bz2 30401
+SHA256 dbc0f41059c4010665027d6ab756c4ca6d65584bcfb771afa120da3219e8e61b mc-4.6.1-utf8.patch.bz2 30401
+MD5 18b20db6e40480a53bac2870c56fc3c4 mc-4.6.1.tar.gz 3928370
+RMD160 d565ee95a8916d73fad5e0defeb9f2f57e50962b mc-4.6.1.tar.gz 3928370
+SHA256 086ab03daaac28a28c0ddb9a709040b59e1322f6bfa68e39d004d9c66b119e7e mc-4.6.1.tar.gz 3928370
+MD5 60a8e4524554a550472622db7fcf728f u7z-4.16beta.tar.bz2 3041
+RMD160 4a682b3b4bc6c09c7414f8d585829763f6c112ea u7z-4.16beta.tar.bz2 3041
+SHA256 668ed6a0484358e51de1be8d8581cc36dd3c915872fb1082550437a2d7aa67dd u7z-4.16beta.tar.bz2 3041
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 000000000000..f44a6ac630e8
--- /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-largefile.patch b/app-misc/mc/files/mc-4.6.1-largefile.patch
new file mode 100644
index 000000000000..de3071576a71
--- /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/mc-4.6.1.ebuild b/app-misc/mc/mc-4.6.1.ebuild
new file mode 100644
index 000000000000..3ba2f5fdf746
--- /dev/null
+++ b/app-misc/mc/mc-4.6.1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/mc/mc-4.6.1.ebuild,v 1.1 2006/03/26 05:46:55 nerdboy Exp $
+
+inherit flag-o-matic eutils
+
+U7Z_PV="4.16"
+U7Z="u7z-${U7Z_PV}beta.tar.bz2"
+DESCRIPTION="GNU Midnight Commander cli-based file manager"
+HOMEPAGE="http://www.ibiblio.org/mc/"
+SRC_URI="http://www.ibiblio.org/pub/Linux/utils/file/managers/${PN}/${P}.tar.gz
+ mirror://gentoo/${P}-utf8.patch.bz2
+ 7zip? ( http://sgh.nightmail.ru/files/u7z/${U7Z} )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="7zip X gpm ncurses nls pam samba slang unicode"
+
+PROVIDE="virtual/editor"
+
+RDEPEND=">=sys-fs/e2fsprogs-1.19
+ ncurses? ( >=sys-libs/ncurses-5.2-r5 )
+ =dev-libs/glib-2*
+ pam? ( >=sys-libs/pam-0.72 )
+ gpm? ( >=sys-libs/gpm-1.19.3 )
+ slang? ( >=sys-libs/slang-1.4.9-r1 )
+ samba? ( >=net-fs/samba-3.0.0 )
+ X? ( || ( (
+ x11-libs/libX11
+ x11-libs/libICE
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libSM
+ )
+ virtual/x11
+ )
+ )
+ x86? ( 7zip? ( >=app-arch/p7zip-4.16 ) )
+ ppc? ( 7zip? ( >=app-arch/p7zip-4.16 ) )
+ amd64? ( 7zip? ( >=app-arch/p7zip-4.16 ) )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+src_unpack() {
+ if ( use x86 || use amd64 || use ppc ) && use 7zip; then
+ unpack ${U7Z}
+ fi
+ unpack ${P}.tar.gz
+ cd ${S}
+
+ epatch ${FILESDIR}/${P}-find.patch
+ if ( use x86 || use amd64 || use ppc ) && use 7zip; then
+ epatch ${FILESDIR}/${PN}-4.6.0-7zip.patch
+ fi
+ epatch ${FILESDIR}/${P}-largefile.patch
+ if use slang && use unicode; then
+ epatch ${DISTDIR}/${P}-utf8.patch.bz2
+ fi
+}
+
+src_compile() {
+ append-flags -I/usr/include/gssapi
+
+ filter-flags -malign-double
+
+ local myconf=""
+
+ if ! use slang && ! use ncurses ; then
+ myconf="${myconf} --with-screen=mcslang"
+ elif use ncurses && ! use slang ; then
+ myconf="${myconf} --with-screen=ncurses"
+ else
+ use slang && myconf="${myconf} --with-screen=slang"
+ fi
+
+ myconf="${myconf} `use_with gpm gpm-mouse`"
+
+ use nls \
+ && myconf="${myconf} --with-included-gettext" \
+ || myconf="${myconf} --disable-nls"
+
+ myconf="${myconf} `use_with X x`"
+
+ use samba \
+ && myconf="${myconf} --with-samba --with-configdir=/etc/samba --with-codepagedir=/var/lib/samba/codepages --with-privatedir=/etc/samba/private" \
+ || myconf="${myconf} --without-samba"
+
+ econf \
+ --with-vfs \
+ --with-ext2undel \
+ --with-edit \
+ --enable-charset \
+ ${myconf} || die
+
+ emake || die
+}
+
+src_install() {
+ cat ${FILESDIR}/chdir-4.6.0.gentoo >>\
+ ${S}/lib/mc-wrapper.sh
+
+ einstall || die
+
+ # install cons.saver setuid, to actually work
+ chmod u+s ${D}/usr/lib/mc/cons.saver
+
+ dodoc ChangeLog AUTHORS MAINTAINERS FAQ INSTALL* NEWS README*
+
+ insinto /usr/share/mc
+ doins ${FILESDIR}/mc.gentoo
+ doins ${FILESDIR}/mc.ini
+
+ if ( use x86 || use amd64 || use ppc ) && use 7zip; then
+ cd ../${U7Z_PV}
+ exeinto /usr/share/mc/extfs
+ doexe u7z
+ dodoc readme.u7z
+ newdoc ChangeLog ChangeLog.u7z
+ fi
+
+ insinto /usr/share/mc/syntax
+ doins ${FILESDIR}/ebuild.syntax
+ cd ${D}/usr/share/mc/syntax
+ epatch ${FILESDIR}/${PN}-4.6.0-ebuild-syntax.patch
+
+ # http://bugs.gentoo.org/show_bug.cgi?id=71275
+ rm -f ${D}/usr/share/locale/locale.alias
+}
+
+pkg_postinst() {
+ einfo "Add the following line to your ~/.bashrc to"
+ einfo "allow mc to chdir to its latest working dir at exit"
+ einfo ""
+ einfo "# Midnight Commander chdir enhancement"
+ einfo "if [ -f /usr/share/mc/mc.gentoo ]; then"
+ einfo " . /usr/share/mc/mc.gentoo"
+ einfo "fi"
+}