pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/textproc/libxml2 update to 2.7.6



details:   https://anonhg.NetBSD.org/pkgsrc/rev/0570a113ad92
branches:  trunk
changeset: 400499:0570a113ad92
user:      drochner <drochner%pkgsrc.org@localhost>
date:      Wed Oct 21 14:55:32 2009 +0000

description:
update to 2.7.6
changes:
-bugfixes
-portability and documentation improvements
-cleanup

pkgsrc note: added some tweaks to EBCDIC support, both to fix non-
portable assumptions in the code and to work around NetBSD deficiencies;
now it needs only a little fix to CP273 (newline conversion) to make
the selftest succeed on NetBSD

diffstat:

 textproc/libxml2/Makefile         |    8 +-
 textproc/libxml2/distinfo         |   12 +-
 textproc/libxml2/patches/patch-ab |   17 +++-
 textproc/libxml2/patches/patch-af |  162 --------------------------------------
 textproc/libxml2/patches/patch-ag |   23 +++++
 5 files changed, 44 insertions(+), 178 deletions(-)

diffs (263 lines):

diff -r c34a16f66f48 -r 0570a113ad92 textproc/libxml2/Makefile
--- a/textproc/libxml2/Makefile Wed Oct 21 14:40:52 2009 +0000
+++ b/textproc/libxml2/Makefile Wed Oct 21 14:55:32 2009 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.101 2009/08/26 10:20:57 tron Exp $
+# $NetBSD: Makefile,v 1.102 2009/10/21 14:55:32 drochner Exp $
 
-DISTNAME=      libxml2-2.7.3
-PKGREVISION=   1
+DISTNAME=      libxml2-2.7.6
 CATEGORIES=    textproc
 MASTER_SITES=  ftp://xmlsoft.org/libxml2/ \
                http://xmlsoft.org/sources/
@@ -34,10 +33,7 @@
 
 .include "../../mk/bsd.prefs.mk"
 
-.if !empty(PKGSRC_RUN_TEST:M[Yy][Ee][Ss])
-USE_TOOLS+=    perl
 TEST_TARGET=   check
-.endif
 
 SUBST_CLASSES+=                cat
 SUBST_STAGE.cat=       pre-configure
diff -r c34a16f66f48 -r 0570a113ad92 textproc/libxml2/distinfo
--- a/textproc/libxml2/distinfo Wed Oct 21 14:40:52 2009 +0000
+++ b/textproc/libxml2/distinfo Wed Oct 21 14:55:32 2009 +0000
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.72 2009/08/26 10:20:57 tron Exp $
+$NetBSD: distinfo,v 1.73 2009/10/21 14:55:32 drochner Exp $
 
-SHA1 (libxml2-2.7.3.tar.gz) = fd4e427fb55c977876bc74c0e552ef7d3d794a07
-RMD160 (libxml2-2.7.3.tar.gz) = 14018347531fd135366cee9fd9d760a1988546e2
-Size (libxml2-2.7.3.tar.gz) = 4789450 bytes
+SHA1 (libxml2-2.7.6.tar.gz) = b0f6bf8408e759ac4b8b9650005ee8adea911e1d
+RMD160 (libxml2-2.7.6.tar.gz) = 849ded7b61f88e75ef0dacf0e5647ce8ad951261
+Size (libxml2-2.7.6.tar.gz) = 4854591 bytes
 SHA1 (patch-aa) = bf7db00ddf8a36394521baf656cf83d99bd9cbd3
-SHA1 (patch-ab) = a8dc745539528db69bf1ccb8977a69c24fa818e3
+SHA1 (patch-ab) = df7c8f1e0301d46b2ac905735b9985be58f782a2
 SHA1 (patch-ac) = 264c75cf9fff5319105b971c122cdf5fc103c04e
 SHA1 (patch-ad) = cd45da492b02cce9983c46762839f68b8b1e0177
 SHA1 (patch-ae) = b9176919edbf3582cb24aff53f7c4f291e2b78c8
-SHA1 (patch-af) = 6db7c8cb6f697ecf1eecb578eafdd561d9bb8dad
+SHA1 (patch-ag) = e3848c7871e4da90c2c190d35b5396998a2bb143
diff -r c34a16f66f48 -r 0570a113ad92 textproc/libxml2/patches/patch-ab
--- a/textproc/libxml2/patches/patch-ab Wed Oct 21 14:40:52 2009 +0000
+++ b/textproc/libxml2/patches/patch-ab Wed Oct 21 14:55:32 2009 +0000
@@ -1,8 +1,17 @@
-$NetBSD: patch-ab,v 1.15 2006/01/14 07:50:52 recht Exp $
+$NetBSD: patch-ab,v 1.16 2009/10/21 14:55:32 drochner Exp $
 
---- configure.orig     2006-01-05 16:20:34.000000000 +0100
-+++ configure  2006-01-12 11:25:52.000000000 +0100
-@@ -27339,7 +27339,7 @@
+--- configure.orig     2009-10-06 18:31:12.000000000 +0200
++++ configure
+@@ -12149,7 +12149,7 @@ CC="$lt_save_CC"
+ VERSION_SCRIPT_FLAGS=
+ $(/usr/bin/ld --help 2>&1 | grep -- --version-script >/dev/null) && \
+     VERSION_SCRIPT_FLAGS=-Wl,--version-script=
+-test "`uname`" == "SunOS" && \
++test "`uname`" = "SunOS" && \
+     VERSION_SCRIPT_FLAGS="-Wl,-M -Wl,"
+ 
+  if test -n "$VERSION_SCRIPT_FLAGS"; then
+@@ -19725,7 +19725,7 @@ fi
  fi
  
  
diff -r c34a16f66f48 -r 0570a113ad92 textproc/libxml2/patches/patch-af
--- a/textproc/libxml2/patches/patch-af Wed Oct 21 14:40:52 2009 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,162 +0,0 @@
-$NetBSD: patch-af,v 1.5 2009/08/26 10:20:57 tron Exp $
-
-Fix for CVE-2009-2414 and CVE-2009-2416 taken from here:
-http://download.fedora.redhat.com/pub/fedora/linux/updates/11/SRPMS/libxml2-2.7.3-3.fc11.src.rpm
-
---- parser.c.orig      2009-01-17 13:45:35.000000000 +0000
-+++ parser.c   2009-08-26 11:06:38.000000000 +0100
-@@ -5306,7 +5306,8 @@
-       if (name == NULL) {
-           xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
-                          "Name expected in NOTATION declaration\n");
--          return(ret);
-+            xmlFreeEnumeration(ret);
-+          return(NULL);
-       }
-       tmp = ret;
-       while (tmp != NULL) {
-@@ -5322,7 +5323,10 @@
-       }
-       if (tmp == NULL) {
-           cur = xmlCreateEnumeration(name);
--          if (cur == NULL) return(ret);
-+          if (cur == NULL) {
-+                xmlFreeEnumeration(ret);
-+                return(NULL);
-+            }
-           if (last == NULL) ret = last = cur;
-           else {
-               last->next = cur;
-@@ -5333,9 +5337,8 @@
-     } while (RAW == '|');
-     if (RAW != ')') {
-       xmlFatalErr(ctxt, XML_ERR_NOTATION_NOT_FINISHED, NULL);
--      if ((last != NULL) && (last != ret))
--          xmlFreeEnumeration(last);
--      return(ret);
-+        xmlFreeEnumeration(ret);
-+      return(NULL);
-     }
-     NEXT;
-     return(ret);
-@@ -5390,7 +5393,10 @@
-           cur = xmlCreateEnumeration(name);
-           if (!xmlDictOwns(ctxt->dict, name))
-               xmlFree(name);
--          if (cur == NULL) return(ret);
-+          if (cur == NULL) {
-+                xmlFreeEnumeration(ret);
-+                return(NULL);
-+            }
-           if (last == NULL) ret = last = cur;
-           else {
-               last->next = cur;
-@@ -5758,9 +5764,10 @@
- }
- 
- /**
-- * xmlParseElementChildrenContentDecl:
-+ * xmlParseElementChildrenContentDeclPriv:
-  * @ctxt:  an XML parser context
-  * @inputchk:  the input used for the current entity, needed for boundary checks
-+ * @depth: the level of recursion
-  *
-  * parse the declaration for a Mixed Element content
-  * The leading '(' and spaces have been skipped in xmlParseElementContentDecl
-@@ -5788,12 +5795,20 @@
-  * Returns the tree of xmlElementContentPtr describing the element 
-  *          hierarchy.
-  */
--xmlElementContentPtr
--xmlParseElementChildrenContentDecl (xmlParserCtxtPtr ctxt, int inputchk) {
-+static xmlElementContentPtr
-+xmlParseElementChildrenContentDeclPriv(xmlParserCtxtPtr ctxt, int inputchk,
-+                                       int depth) {
-     xmlElementContentPtr ret = NULL, cur = NULL, last = NULL, op = NULL;
-     const xmlChar *elem;
-     xmlChar type = 0;
- 
-+    if (((depth > 128) && ((ctxt->options & XML_PARSE_HUGE) == 0)) ||
-+        (depth >  2048)) {
-+        xmlFatalErrMsgInt(ctxt, XML_ERR_ELEMCONTENT_NOT_FINISHED,
-+"xmlParseElementChildrenContentDecl : depth %d too deep, use XML_PARSE_HUGE\n",
-+                          depth);
-+      return(NULL);
-+    }
-     SKIP_BLANKS;
-     GROW;
-     if (RAW == '(') {
-@@ -5802,7 +5817,8 @@
-         /* Recurse on first child */
-       NEXT;
-       SKIP_BLANKS;
--        cur = ret = xmlParseElementChildrenContentDecl(ctxt, inputid);
-+        cur = ret = xmlParseElementChildrenContentDeclPriv(ctxt, inputid,
-+                                                           depth + 1);
-       SKIP_BLANKS;
-       GROW;
-     } else {
-@@ -5934,7 +5950,8 @@
-           /* Recurse on second child */
-           NEXT;
-           SKIP_BLANKS;
--          last = xmlParseElementChildrenContentDecl(ctxt, inputid);
-+          last = xmlParseElementChildrenContentDeclPriv(ctxt, inputid,
-+                                                          depth + 1);
-           SKIP_BLANKS;
-       } else {
-           elem = xmlParseName(ctxt);
-@@ -6045,6 +6062,44 @@
- }
- 
- /**
-+ *
-+ * xmlParseElementChildrenContentDecl:
-+ * @ctxt:  an XML parser context
-+ * @inputchk:  the input used for the current entity, needed for boundary checks
-+ * @depth: the level of recursion
-+ *
-+ * parse the declaration for a Mixed Element content
-+ * The leading '(' and spaces have been skipped in xmlParseElementContentDecl
-+ *
-+ * [47] children ::= (choice | seq) ('?' | '*' | '+')?
-+ *
-+ * [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')?
-+ *
-+ * [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')'
-+ *
-+ * [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')'
-+ *
-+ * [ VC: Proper Group/PE Nesting ] applies to [49] and [50]
-+ * TODO Parameter-entity replacement text must be properly nested
-+ *    with parenthesized groups. That is to say, if either of the
-+ *    opening or closing parentheses in a choice, seq, or Mixed
-+ *    construct is contained in the replacement text for a parameter
-+ *    entity, both must be contained in the same replacement text. For
-+ *    interoperability, if a parameter-entity reference appears in a
-+ *    choice, seq, or Mixed construct, its replacement text should not
-+ *    be empty, and neither the first nor last non-blank character of
-+ *    the replacement text should be a connector (| or ,).
-+ *
-+ * Returns the tree of xmlElementContentPtr describing the element 
-+ *          hierarchy.
-+ */
-+xmlElementContentPtr
-+xmlParseElementChildrenContentDecl(xmlParserCtxtPtr ctxt, int inputchk) {
-+    /* stub left for API/ABI compat */
-+    return(xmlParseElementChildrenContentDeclPriv(ctxt, inputchk, 1));
-+}
-+
-+/**
-  * xmlParseElementContentDecl:
-  * @ctxt:  an XML parser context
-  * @name:  the name of the element being defined.
-@@ -6080,7 +6135,7 @@
-         tree = xmlParseElementMixedContentDecl(ctxt, inputid);
-       res = XML_ELEMENT_TYPE_MIXED;
-     } else {
--        tree = xmlParseElementChildrenContentDecl(ctxt, inputid);
-+        tree = xmlParseElementChildrenContentDeclPriv(ctxt, inputid, 1);
-       res = XML_ELEMENT_TYPE_ELEMENT;
-     }
-     SKIP_BLANKS;
diff -r c34a16f66f48 -r 0570a113ad92 textproc/libxml2/patches/patch-ag
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/textproc/libxml2/patches/patch-ag Wed Oct 21 14:55:32 2009 +0000
@@ -0,0 +1,23 @@
+$NetBSD: patch-ag,v 1.7 2009/10/21 14:55:32 drochner Exp $
+
+--- encoding.c.orig    2009-09-24 17:31:59.000000000 +0200
++++ encoding.c
+@@ -1376,6 +1376,9 @@ xmlInitCharEncodingHandlers(void) {
+     xmlRegisterCharEncodingHandlersISO8859x ();
+ #endif
+ #endif
++#ifdef __NetBSD__ /* XXX needed by selftest */
++    xmlAddEncodingAlias("IBM273", "IBM-1141");
++#endif
+ 
+ }
+ 
+@@ -1454,6 +1457,8 @@ xmlGetCharEncodingHandler(xmlCharEncodin
+         case XML_CHAR_ENCODING_UTF16BE:
+           return(xmlUTF16BEHandler);
+         case XML_CHAR_ENCODING_EBCDIC:
++          handler = xmlFindCharEncodingHandler("IBM500");
++          if (handler != NULL) return(handler);
+             handler = xmlFindCharEncodingHandler("EBCDIC");
+             if (handler != NULL) return(handler);
+             handler = xmlFindCharEncodingHandler("ebcdic");



Home | Main Index | Thread Index | Old Index