diff options
author | drochner <drochner@pkgsrc.org> | 2009-10-21 14:55:32 +0000 |
---|---|---|
committer | drochner <drochner@pkgsrc.org> | 2009-10-21 14:55:32 +0000 |
commit | d0de5cfa023947d67ca6a3a70f1c690314b5be9f (patch) | |
tree | 1e9c6d18f15f0025b8eceef382f658542ef8c594 /textproc/libxml2 | |
parent | e33b2d8c69560b92d3568c5f92c938df98945152 (diff) | |
download | pkgsrc-d0de5cfa023947d67ca6a3a70f1c690314b5be9f.tar.gz |
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 (limited to 'textproc/libxml2')
-rw-r--r-- | textproc/libxml2/Makefile | 8 | ||||
-rw-r--r-- | textproc/libxml2/distinfo | 12 | ||||
-rw-r--r-- | textproc/libxml2/patches/patch-ab | 17 | ||||
-rw-r--r-- | textproc/libxml2/patches/patch-af | 162 | ||||
-rw-r--r-- | textproc/libxml2/patches/patch-ag | 23 |
5 files changed, 44 insertions, 178 deletions
diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile index a750e5206e0..4f97dae670e 100644 --- a/textproc/libxml2/Makefile +++ b/textproc/libxml2/Makefile @@ -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 @@ MAKE_ENV+= PAX=${PAX:Q} .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 --git a/textproc/libxml2/distinfo b/textproc/libxml2/distinfo index 0f0d778b5d6..0e6a8c810da 100644 --- a/textproc/libxml2/distinfo +++ b/textproc/libxml2/distinfo @@ -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 --git a/textproc/libxml2/patches/patch-ab b/textproc/libxml2/patches/patch-ab index 601acfff319..72038528099 100644 --- a/textproc/libxml2/patches/patch-ab +++ b/textproc/libxml2/patches/patch-ab @@ -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 --git a/textproc/libxml2/patches/patch-af b/textproc/libxml2/patches/patch-af deleted file mode 100644 index 281c73ad32a..00000000000 --- a/textproc/libxml2/patches/patch-af +++ /dev/null @@ -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 --git a/textproc/libxml2/patches/patch-ag b/textproc/libxml2/patches/patch-ag new file mode 100644 index 00000000000..4069997ff6c --- /dev/null +++ b/textproc/libxml2/patches/patch-ag @@ -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"); |