summary refs log tree commit diff
path: root/pkgs/tools/misc/mc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/mc/default.nix')
-rw-r--r--pkgs/tools/misc/mc/default.nix46
1 files changed, 42 insertions, 4 deletions
diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index 8f03756a2d3..44f042bd419 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -1,4 +1,4 @@
-args: with args;
+{stdenv, fetchurl, lib, pkgconfig, glib, ncurses, libX11, shebangfix, perl, zip, unzip, gettext, slang}:
 
 stdenv.mkDerivation rec {
   name = "mc-4.6.1";
@@ -6,8 +6,46 @@ stdenv.mkDerivation rec {
     url = "http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/${name}.tar.gz";
     sha256 = "0zly25mwdn84s0wqx9mzyqi177mm828716nv1n6a4a5cm8yv0sh8";
   };
-  buildInputs = [pkgconfig glib ncurses libX11 shebangfix perl zip];
-  configureFlags = "--with-screen=ncurses";
+  buildInputs = [pkgconfig glib ncurses libX11 shebangfix perl zip unzip slang gettext];
+  configureFlags = "--enable-charset";
+  
+  # Stole some patches from LFS which fix some nasty bugs
+  patches = [ ./mc-4.6.1-bash32-1.patch ./mc-4.6.1-debian_fixes-1.patch ];
+  
+  # Required to enable the Debian UTF8 fixes
+  CPPFLAGS = "-DUTF8";
+  
+  # The Debian UTF8 patch expects that the documentation is in UTF8 format,
+  # therefore we have to convert them (I stole this also from LFS)
+  
+  postBuildPhase = ''
+    for file in lib/mc.hint{,.es,.it,.nl} doc/{es,it}/mc.hlp.*
+    do
+        iconv -f ISO-8859-1 -t UTF-8 $file > $file.utf8 &&
+        mv $file.utf8 $file
+    done &&
+    for file in lib/mc.hint{.cs,.hu,.pl} doc/{hu,pl}/mc.hlp.*
+    do
+        iconv -f ISO-8859-2 -t UTF-8 $file > $file.utf8 &&
+        mv $file.utf8 $file
+    done &&
+    for file in lib/mc.hint.sr doc/sr/mc.hlp.sr
+    do
+        iconv -f ISO-8859-5 -t UTF-8 $file > $file.utf8 &&
+        mv $file.utf8 $file
+    done &&
+    for file in doc/ru/mc.hlp.ru lib/mc.hint.ru
+    do
+        iconv -f KOI8-R -t UTF-8 $file > $file.utf8 &&
+        mv $file.utf8 $file
+    done &&
+
+    iconv -f KOI8-U -t UTF-8 lib/mc.hint.uk > lib/mc.hint.uk.utf8 &&
+    mv lib/mc.hint.uk.utf8 lib/mc.hint.uk &&
+    iconv -f BIG5 -t UTF-8 lib/mc.hint.zh > lib/mc.hint.zh.utf8 &&
+    mv lib/mc.hint.zh.utf8 lib/mc.hint.zh				  
+  '';
+  
   makeFlags = "UNZIP=unzip";
   postInstall = ''
     find $out -iname "*.pl" | xargs shebangfix;
@@ -15,6 +53,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "File Manager and User Shell for the GNU Project";
     homepage = http://www.ibiblio.org/mc;
+    maintainers = [ lib.maintainers.sander ];
   };
 }
-