Subject: Re: libxml2 needs converters/libiconv on NetBSD > 1.6, DragonFlyBSD and Solaris
To: None <pkgsrc-users@NetBSD.org>
From: None <joerg@britannica.bec.de>
List: pkgsrc-users
Date: 04/02/2006 20:38:18
--LQksG6bCIzRHxTLp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sun, Apr 02, 2006 at 08:18:35PM +0200, Klaus Heinz wrote:
> joerg@britannica.bec.de wrote:
> 
> > Please don't make any change like that, since it is clearly libxml2's
> > fault. Let us continue the discussion about the correct behaviour on
> > tech-userlevel, where it started.
> 
> I do not believe in asking question on public lists and then commit the
> change in question (questionable change?) 2 hours later. I rather
> tend to wait too long and then forget the issue sometimes :-/.

The first part was not only directed at you, but also other eager
developers. I've made it a personal habit to rise objections early to
prevent "hot fixes" which break more than they solve.

> At this point, libxml2 and thus libxslt/xsltproc are broken on several
> pkgsrc platforms where non-western code sets are concerned. Shouldn't
> we address this in the short term by using converters/libiconv?

Or you could try the attached patch :-)

Joerg

--LQksG6bCIzRHxTLp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="libxml2-iconv.diff"

? libxml2-iconv.diff
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/textproc/libxml2/distinfo,v
retrieving revision 1.54
diff -u -r1.54 distinfo
--- distinfo	14 Jan 2006 07:50:52 -0000	1.54
+++ distinfo	2 Apr 2006 18:38:13 -0000
@@ -7,4 +7,5 @@
 SHA1 (patch-ab) = a8dc745539528db69bf1ccb8977a69c24fa818e3
 SHA1 (patch-ac) = 264c75cf9fff5319105b971c122cdf5fc103c04e
 SHA1 (patch-ad) = cd45da492b02cce9983c46762839f68b8b1e0177
+SHA1 (patch-ae) = 2ae9f673d1bd8e62d8982d5a7d3b984da20cacdb
 SHA1 (patch-ag) = 6ddd32565325e87cc6d7ff77e6eac2be029b7c2f
Index: patches/patch-ae
===================================================================
RCS file: patches/patch-ae
diff -N patches/patch-ae
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-ae	2 Apr 2006 18:38:13 -0000
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- encoding.c.orig	2005-09-02 12:23:19.000000000 +0000
++++ encoding.c
+@@ -1709,6 +1709,8 @@ xmlIconvWrapper(iconv_t cd, unsigned cha
+         *inlen = 0;
+         *outlen = 0;
+     }
++    if (ret > 0)
++	return -2;
+     if ((icv_inlen != 0) || (ret == -1)) {
+ #ifdef EILSEQ
+         if (errno == EILSEQ) {

--LQksG6bCIzRHxTLp--