summary refs log tree commit diff
path: root/pkgs/tools/text/recode
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2010-10-20 13:05:49 +0000
committerPeter Simons <simons@cryp.to>2010-10-20 13:05:49 +0000
commit5019f883f342b0a2d6db7bacba211b16fc5ad684 (patch)
treeaf2176f48c12427b5060ce54c7286b695c83ed02 /pkgs/tools/text/recode
parent0df15241ca861e1abb366191759f548c20644898 (diff)
downloadnixlib-5019f883f342b0a2d6db7bacba211b16fc5ad684.tar
nixlib-5019f883f342b0a2d6db7bacba211b16fc5ad684.tar.gz
nixlib-5019f883f342b0a2d6db7bacba211b16fc5ad684.tar.bz2
nixlib-5019f883f342b0a2d6db7bacba211b16fc5ad684.tar.lz
nixlib-5019f883f342b0a2d6db7bacba211b16fc5ad684.tar.xz
nixlib-5019f883f342b0a2d6db7bacba211b16fc5ad684.tar.zst
nixlib-5019f883f342b0a2d6db7bacba211b16fc5ad684.zip
pkgs/tools/text/recode: added (heavily patched) version 3.6
svn path=/nixpkgs/trunk/; revision=24384
Diffstat (limited to 'pkgs/tools/text/recode')
-rw-r--r--pkgs/tools/text/recode/default.nix46
-rw-r--r--pkgs/tools/text/recode/recode-3.6-as-if.patch19
-rw-r--r--pkgs/tools/text/recode/recode-3.6-gettextfix.diff23
3 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/tools/text/recode/default.nix b/pkgs/tools/text/recode/default.nix
new file mode 100644
index 000000000000..e7c5997021db
--- /dev/null
+++ b/pkgs/tools/text/recode/default.nix
@@ -0,0 +1,46 @@
+{stdenv, fetchurl, autoconf, automake, libtool, gettext, perl}:
+
+let
+  asIfPatch = ./recode-3.6-as-if.patch;
+
+  gettextPatch = ./recode-3.6-gettextfix.diff;
+
+  debianPatch = fetchurl {
+    url = "http://ftp.de.debian.org/debian/pool/main/r/recode/recode_3.6-15.diff.gz";
+    sha256 = "114qxm29wk95w5760bswgd46d5p00g5kbfai5wchjvcbi722p5qf";
+  };
+in
+stdenv.mkDerivation {
+  name = "recode-3.6";
+
+  src = fetchurl {
+    url = "ftp://ftp.halifax.rwth-aachen.de/gnu/recode/recode-3.6.tar.gz";
+    sha256 = "1krgjqfhsxcls4qvxhagc45sm1sd0w69jm81nwm0bip5z3rs9rp3";
+  };
+
+  buildInputs = [ autoconf automake libtool gettext perl ];
+
+  patchPhase = ''
+    patch -Np1 -i ${asIfPatch}
+    patch -Np1 -i ${gettextPatch}
+    gunzip <${debianPatch} | patch -Np1 -i -
+    sed -i '1i#include <stdlib.h>' src/argmatch.c
+    rm -f acinclude.m4
+    autoreconf -fi
+    libtoolize
+  '';
+
+  configureFlags = "--without-included-gettext";
+
+  doCheck = true;
+
+  meta = {
+    homepage = "http://www.gnu.org/software/recode/";
+    description = "Converts files between various character sets and usages";
+
+    license = "GPLv2+";
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [];
+  };
+}
diff --git a/pkgs/tools/text/recode/recode-3.6-as-if.patch b/pkgs/tools/text/recode/recode-3.6-as-if.patch
new file mode 100644
index 000000000000..c7bcc27c8750
--- /dev/null
+++ b/pkgs/tools/text/recode/recode-3.6-as-if.patch
@@ -0,0 +1,19 @@
+http://bugs.gentoo.org/283029
+
+--- a/m4/flex.m4
++++ b/m4/flex.m4
+@@ -8,11 +8,11 @@ dnl ad_AC_PROG_FLEX
+ dnl Look for flex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
+ AC_DEFUN(ad_AC_PROG_FLEX,
+ [AC_CHECK_PROGS(LEX, flex, missing)
+-if test "$LEX" = missing; then
++AS_IF([test "$LEX" = missing], [dnl
+   LEX="\$(top_srcdir)/$ac_aux_dir/missing flex"
+   LEX_OUTPUT_ROOT=lex.yy
+   AC_SUBST(LEX_OUTPUT_ROOT)dnl
+-else
++], [:
+   AC_PROG_LEX
+   AC_DECL_YYTEXT
+-fi])
++])])
diff --git a/pkgs/tools/text/recode/recode-3.6-gettextfix.diff b/pkgs/tools/text/recode/recode-3.6-gettextfix.diff
new file mode 100644
index 000000000000..3b7eb8ba20e6
--- /dev/null
+++ b/pkgs/tools/text/recode/recode-3.6-gettextfix.diff
@@ -0,0 +1,23 @@
+http://bugs.gentoo.org/239372
+
+patch by Dmitry Karasik
+
+--- recode-3.6/m4/gettext.m4
++++ recode-3.6/m4/gettext.m4
+@@ -109,12 +109,12 @@
+     else
+       ac_items="$LINGUAS"
+       for ac_item in $ac_items; do
+-	case "$ALL_LINGUAS" in
+-	  *$ac_item*)
++        for supported_item in $ALL_LINGUAS; do
++          if test "$ac_item" = "$supported_item"; then
+ 	    ac_print="$ac_print $ac_item"
+ 	    MOFILES="$MOFILES $ac_item.mo"
+-	    ;;
+-	esac
++          fi
++        done
+       done
+     fi
+     AC_SUBST(MOFILES)