summaryrefslogtreecommitdiff
path: root/textproc/libxml2
diff options
context:
space:
mode:
authordrochner <drochner>2009-10-21 14:55:32 +0000
committerdrochner <drochner>2009-10-21 14:55:32 +0000
commitcbe5086c3190b3708dd7b279d3c8ce1a038cfd8d (patch)
tree1e9c6d18f15f0025b8eceef382f658542ef8c594 /textproc/libxml2
parent72122f0ffe482dcdcdc37b6d90a0c82aaa818c17 (diff)
downloadpkgsrc-cbe5086c3190b3708dd7b279d3c8ce1a038cfd8d.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/Makefile8
-rw-r--r--textproc/libxml2/distinfo12
-rw-r--r--textproc/libxml2/patches/patch-ab17
-rw-r--r--textproc/libxml2/patches/patch-af162
-rw-r--r--textproc/libxml2/patches/patch-ag23
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");