summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspz <spz>2016-05-25 19:07:28 +0000
committerspz <spz>2016-05-25 19:07:28 +0000
commitdf70fe48b460e5353069fa336121f5764eab80ba (patch)
tree7bce0c1cde05482ccab789833866d01098328bc0
parentafc9fcf68f2ac45d4ab014d79bb67a573ae91a93 (diff)
downloadpkgsrc-df70fe48b460e5353069fa336121f5764eab80ba.tar.gz
Pullup ticket #5028 - requested by he
textproc/libxml2: security update Revisions pulled up: - textproc/libxml2/Makefile 1.141 - textproc/libxml2/distinfo 1.110-1.112 - textproc/libxml2/patches/patch-aa 1.29 - textproc/libxml2/patches/patch-ab 1.29-1.30 - textproc/libxml2/patches/patch-ac 1.9 - textproc/libxml2/patches/patch-ad 1.19 - textproc/libxml2/patches/patch-ae 1.15 - textproc/libxml2/patches/patch-ag deleted - textproc/libxml2/patches/patch-encoding.c added at 1.2 - textproc/libxml2/patches/patch-runtest.c added at 1.2 - textproc/libxml2/patches/patch-testlimits.c added at 1.2 - textproc/libxml2/patches/patch-timsort.h added at 1.2 - textproc/libxml2/patches/patch-xmlIO.c added at 1.2 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: he Date: Tue May 24 12:00:08 UTC 2016 Modified Files: pkgsrc/textproc/libxml2: Makefile distinfo pkgsrc/textproc/libxml2/patches: patch-aa patch-ab patch-ac patch-ad patch-ae Added Files: pkgsrc/textproc/libxml2/patches: patch-encoding.c patch-runtest.c patch-testlimits.c patch-timsort.h patch-xmlIO.c Removed Files: pkgsrc/textproc/libxml2/patches: patch-ag Log Message: Update libxml2 to 2.9.4. Pkgsrc changes: * Add some casts to match types and format strings, plus fix value range of toupper() operation. * Merge patch-ag into the new patch-encoding.c. * Add comments to existing patches which lacked comments. Upstream changes to libxml2-2.9.4: May 23 2016 Security: CVE-2016-3627 Avoid building recursive entities CVE-2016-1833 Heap-based buffer overread in htmlCurrentChar CVE-2016-1835 Heap use-after-free in xmlSAX2AttributeNs CVE-2016-1837 Heap use-after-free in htmlParsePubidLiteral and htmlParseSystemiteral CVE-2016-1836 Bug 759398: Heap use-after-free in xmlDictComputeFastKey CVE-2016-1839 Bug 758605: Heap-based buffer overread in xmlDictAddString CVE-2016-1838 Bug 758588: Heap-based buffer overread in xmlParserPrintFileContextInternal CVE-2016-1840 Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup CVE-2016-4483 Avoid an out of bound access when serializing malformed strings CVE-2016-1834 Bug 763071: heap-buffer-overflow in xmlStrncat CVE-2016-3705 Add missing increments of recursion depth counter to XML parser. CVE-2016-1762 Heap-based buffer overread in xmlNextChar More format string warnings with possible format string vulnerability Heap-based buffer-underreads due to xmlParseName Fix some format string warnings with possible format string vulnerability Unsigned addition may overflow in xmlMallocAtomicLoc() Other bugfixes: Detect change of encoding when parsing HTML names Fix inappropriate fetch of entities content Correct the usage of LDFLAGS Revert the use of SAVE_LDFLAGS in configure.ac libxml2 hardcodes -L/lib in zlib/lzma tests which breaks cross-compiles Add more debugging info to runtest Implement "runtest -u" mode Integer signed/unsigned type mismatch in xmlParserInputGrow() Integer overflow parsing port number in URI Fix apibuild for a recently added constructv2.9.4-rc2 Use pkg-config to locate zlib when possible Use pkg-config to locate ICU when possible Fix an error with regexp on nullable counted char transition Fix memory leak with XPath namespace nodes Fix namespace axis traversal Add a make rule to rebuild for ASAN Fix null pointer deref in docs with no root element Portability to non C99 compliant compilers dict.h: Move xmlDictPtr definition before includes to allow direct inclusion. Fix XSD validation of URIs with ampersands xmlschemastypes.c: accept endOfDayFrag Times set to "24:00:00" mean "end of day" and should not cause an error. v2.9.4-rc1 os400: tell about xmllint and xmlcatalog in README400. os400: properly process SGML add in XMLCATALOG command. os400: implement CL command XMLCATALOG. os400: compile and install program xmlcatalog (qshell-only). xmlcatalog: flush stdout before interactive shell input. os400: expand tabs in sources, strip trailing blanks. os400: implement CL command XMLLINT. os400: compile and install program xmllint (qshell-only). os400: initscript make_module(): Use options instead of positional parameters. xmllint: flush stdout before interactive shell input. os400: c14n.rpgle: allow *omit for nullable reference parameters. os400: use like() for double type. os400: use like() for int type. os400: use like() for unsigned int type. os400: use like() for enum types. Add xz to xml2-config --libs output Don't recurse into OP_VALUEs in xmlXPathOptimizeExpression Fix namespace::node() XPath expression Fix OOB write in xmlXPathEmptyNodeSet Fix parsing of NCNames in XPath Fix OOB read with invalid UTF-8 in xmlUTF8Strsize Do normalize string-based datatype value in RelaxNG facet checking Fix typo: s{ ec -> cr }cipt Fix typos: dictio{ nn -> n }ar{y,ies} Fix typos: PATH_{ SEAPARATOR -> SEPARATOR } Correct a typo. Bug 760921: REGRESSION (8eb55d78): doc/examples/io1 test fails after fix for "xmlSaveUri() incorrectly recomposes URIs with rootless paths" Bug 760861: REGRESSION (bf9c1dad): Missing results for test/schemas/regexp-char-ref_[01].xsd error.c: *input->cur == 0 does not mean no error Add missing RNG test files Bug 760190: configure.ac should be able to build --with-icu without icu-config tool Bug 760183: REGRESSION (v2.9.3): XML push parser fails with bogus UTF-8 encoding error when multi-byte character in large CDATA section is split across buffer Bug 758572: ASAN crash in make check Bug 721158: Missing ICU string when doing --version on xmllint python 3: libxml2.c wrappers create Unicode str already win32\VC10\config.h and VS 2015 Add autogen.sh to distrib Add configure maintainer mode To generate a diff of this commit: cvs rdiff -u -r1.140 -r1.141 pkgsrc/textproc/libxml2/Makefile cvs rdiff -u -r1.109 -r1.110 pkgsrc/textproc/libxml2/distinfo cvs rdiff -u -r1.28 -r1.29 pkgsrc/textproc/libxml2/patches/patch-aa \ pkgsrc/textproc/libxml2/patches/patch-ab cvs rdiff -u -r1.8 -r1.9 pkgsrc/textproc/libxml2/patches/patch-ac cvs rdiff -u -r1.18 -r1.19 pkgsrc/textproc/libxml2/patches/patch-ad cvs rdiff -u -r1.14 -r1.15 pkgsrc/textproc/libxml2/patches/patch-ae cvs rdiff -u -r1.12 -r0 pkgsrc/textproc/libxml2/patches/patch-ag cvs rdiff -u -r0 -r1.1 pkgsrc/textproc/libxml2/patches/patch-encoding.c \ pkgsrc/textproc/libxml2/patches/patch-runtest.c \ pkgsrc/textproc/libxml2/patches/patch-testlimits.c \ pkgsrc/textproc/libxml2/patches/patch-timsort.h \ pkgsrc/textproc/libxml2/patches/patch-xmlIO.c ------------------------------------------------------------------- Module Name: pkgsrc Committed By: wiz Date: Tue May 24 21:08:21 UTC 2016 Modified Files: pkgsrc/textproc/libxml2: distinfo pkgsrc/textproc/libxml2/patches: patch-encoding.c patch-runtest.c patch-testlimits.c patch-timsort.h patch-xmlIO.c Log Message: Add upstream bug report URLs (from he@). To generate a diff of this commit: cvs rdiff -u -r1.110 -r1.111 pkgsrc/textproc/libxml2/distinfo cvs rdiff -u -r1.1 -r1.2 pkgsrc/textproc/libxml2/patches/patch-encoding.c \ pkgsrc/textproc/libxml2/patches/patch-runtest.c \ pkgsrc/textproc/libxml2/patches/patch-testlimits.c \ pkgsrc/textproc/libxml2/patches/patch-timsort.h \ pkgsrc/textproc/libxml2/patches/patch-xmlIO.c ------------------------------------------------------------------- Module Name: pkgsrc Committed By: he Date: Wed May 25 07:16:36 UTC 2016 Modified Files: pkgsrc/textproc/libxml2: distinfo pkgsrc/textproc/libxml2/patches: patch-ab Log Message: Submit the typo part of configure upstream, note the bug-ID. To generate a diff of this commit: cvs rdiff -u -r1.111 -r1.112 pkgsrc/textproc/libxml2/distinfo cvs rdiff -u -r1.29 -r1.30 pkgsrc/textproc/libxml2/patches/patch-ab
-rw-r--r--textproc/libxml2/Makefile4
-rw-r--r--textproc/libxml2/distinfo26
-rw-r--r--textproc/libxml2/patches/patch-aa4
-rw-r--r--textproc/libxml2/patches/patch-ab9
-rw-r--r--textproc/libxml2/patches/patch-ac4
-rw-r--r--textproc/libxml2/patches/patch-ad4
-rw-r--r--textproc/libxml2/patches/patch-ae4
-rw-r--r--textproc/libxml2/patches/patch-ag14
-rw-r--r--textproc/libxml2/patches/patch-encoding.c65
-rw-r--r--textproc/libxml2/patches/patch-runtest.c17
-rw-r--r--textproc/libxml2/patches/patch-testlimits.c43
-rw-r--r--textproc/libxml2/patches/patch-timsort.h16
-rw-r--r--textproc/libxml2/patches/patch-xmlIO.c17
13 files changed, 195 insertions, 32 deletions
diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile
index c33c27dc9b5..fbd4b46838f 100644
--- a/textproc/libxml2/Makefile
+++ b/textproc/libxml2/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.140 2016/02/26 10:32:47 jperkin Exp $
+# $NetBSD: Makefile,v 1.140.2.1 2016/05/25 19:07:28 spz Exp $
-DISTNAME= libxml2-2.9.3
+DISTNAME= libxml2-2.9.4
CATEGORIES= textproc
MASTER_SITES= ftp://xmlsoft.org/libxml2/ \
http://xmlsoft.org/sources/
diff --git a/textproc/libxml2/distinfo b/textproc/libxml2/distinfo
index c89fcec8598..008df5ccc36 100644
--- a/textproc/libxml2/distinfo
+++ b/textproc/libxml2/distinfo
@@ -1,12 +1,16 @@
-$NetBSD: distinfo,v 1.109 2015/11/22 23:49:03 wiz Exp $
+$NetBSD: distinfo,v 1.109.4.1 2016/05/25 19:07:28 spz Exp $
-SHA1 (libxml2-2.9.3.tar.gz) = 0301ce933637e0ceda049047dbefd18714f59b6e
-RMD160 (libxml2-2.9.3.tar.gz) = 8ffed136daaf3595c306b76c5600ce67b5984e61
-SHA512 (libxml2-2.9.3.tar.gz) = 078afa65229de4f23e6538767253fb4f9f61d96cb72e445179c71d536b224d54922f22972a2b71434796f83f8c99f6a46c3b8813cb4582ad9fca696d141e0abb
-Size (libxml2-2.9.3.tar.gz) = 5477112 bytes
-SHA1 (patch-aa) = 7d1213079cc78c9a28476c49f1283ab1c6af3b34
-SHA1 (patch-ab) = bf8983fcde35edf0e450209bf07f0fa628f7bd9e
-SHA1 (patch-ac) = 015a5903a86793bd770f16f251b94e5b2562b3f7
-SHA1 (patch-ad) = fe255e93f9aefd5403d646cd45d9fbdcbd100bd6
-SHA1 (patch-ae) = d479d5a0c8b906de3cbe1c30b100c6f8b1bb9c43
-SHA1 (patch-ag) = f037f13ccc4047d4bf824a2091e60ac89b172558
+SHA1 (libxml2-2.9.4.tar.gz) = 958ae70baf186263a4bd801a81dd5d682aedd1db
+RMD160 (libxml2-2.9.4.tar.gz) = bb59656e0683d64a38a2f1a45ca9d918837e1e56
+SHA512 (libxml2-2.9.4.tar.gz) = f5174ab1a3a0ec0037a47f47aa47def36674e02bfb42b57f609563f84c6247c585dbbb133c056953a5adb968d328f18cbc102eb0d00d48eb7c95478389e5daf9
+Size (libxml2-2.9.4.tar.gz) = 5374830 bytes
+SHA1 (patch-aa) = e687eaa9805b855b0c8a944ec5c597bd34954472
+SHA1 (patch-ab) = d6d6e9a91307da0c7f334b5b9ad432878babd1ac
+SHA1 (patch-ac) = 34afe787f6012b460a85be993048e133907a1621
+SHA1 (patch-ad) = d65b7e3be9694147e96ce4bb70a1739e2279ba81
+SHA1 (patch-ae) = 4eede9719724f94402e850ee6d6043a74aaf62b2
+SHA1 (patch-encoding.c) = 6cf0a7d421828b9f40a4079ee85adb791c54d096
+SHA1 (patch-runtest.c) = 759fcee959833b33d72e85108f7973859dcba1f6
+SHA1 (patch-testlimits.c) = 8cba18464b619469abbb8488fd950a32a567be7b
+SHA1 (patch-timsort.h) = e09118e7c99d53f71c28fe4d54269c4801244959
+SHA1 (patch-xmlIO.c) = 5efcc5e43a8b3139832ab69af6b5ab94e5a6ad59
diff --git a/textproc/libxml2/patches/patch-aa b/textproc/libxml2/patches/patch-aa
index 871e2af38be..38f83dc0d00 100644
--- a/textproc/libxml2/patches/patch-aa
+++ b/textproc/libxml2/patches/patch-aa
@@ -1,4 +1,6 @@
-$NetBSD: patch-aa,v 1.28 2015/04/24 11:32:29 spz Exp $
+$NetBSD: patch-aa,v 1.28.8.1 2016/05/25 19:07:28 spz Exp $
+
+Move EXAMPLES_DIR to fit pkgsrc.
--- Makefile.in.orig 2014-10-16 07:35:13.000000000 +0000
+++ Makefile.in
diff --git a/textproc/libxml2/patches/patch-ab b/textproc/libxml2/patches/patch-ab
index 6f5ca6c3d4f..407355b3468 100644
--- a/textproc/libxml2/patches/patch-ab
+++ b/textproc/libxml2/patches/patch-ab
@@ -1,4 +1,11 @@
-$NetBSD: patch-ab,v 1.28 2015/04/24 11:32:29 spz Exp $
+$NetBSD: patch-ab,v 1.28.8.1 2016/05/25 19:07:28 spz Exp $
+
+Various configure fixes:
+ * Add run-path to XML_LIBDIR
+ * Fix handling of pthreads
+ * Add portability to OpenBSD, MirBSD, FreeBSD, NetBSD and DragonFly
+ * Fix test for SAX
+ Submitted as https://bugzilla.gnome.org/show_bug.cgi?id=766859
--- configure.orig 2014-10-16 07:35:12.000000000 +0000
+++ configure
diff --git a/textproc/libxml2/patches/patch-ac b/textproc/libxml2/patches/patch-ac
index 0af00c13f5f..fbd121fe87b 100644
--- a/textproc/libxml2/patches/patch-ac
+++ b/textproc/libxml2/patches/patch-ac
@@ -1,4 +1,6 @@
-$NetBSD: patch-ac,v 1.8 2015/04/24 11:32:29 spz Exp $
+$NetBSD: patch-ac,v 1.8.8.1 2016/05/25 19:07:28 spz Exp $
+
+Parametrize XML and SGML catalog directories.
--- catalog.c.orig 2014-10-03 11:28:05.000000000 +0000
+++ catalog.c
diff --git a/textproc/libxml2/patches/patch-ad b/textproc/libxml2/patches/patch-ad
index ad1ca8f88b7..e4b896dca54 100644
--- a/textproc/libxml2/patches/patch-ad
+++ b/textproc/libxml2/patches/patch-ad
@@ -1,4 +1,6 @@
-$NetBSD: patch-ad,v 1.18 2015/04/24 11:32:29 spz Exp $
+$NetBSD: patch-ad,v 1.18.8.1 2016/05/25 19:07:28 spz Exp $
+
+Parametrize SGML catalog directory.
--- xmlcatalog.c.orig 2014-10-03 11:28:06.000000000 +0000
+++ xmlcatalog.c
diff --git a/textproc/libxml2/patches/patch-ae b/textproc/libxml2/patches/patch-ae
index c9141e779c7..2842b571ad8 100644
--- a/textproc/libxml2/patches/patch-ae
+++ b/textproc/libxml2/patches/patch-ae
@@ -1,4 +1,6 @@
-$NetBSD: patch-ae,v 1.14 2015/04/24 11:32:29 spz Exp $
+$NetBSD: patch-ae,v 1.14.8.1 2016/05/25 19:07:28 spz Exp $
+
+Don't install html files.
--- doc/examples/Makefile.in.orig 2014-10-16 07:35:13.000000000 +0000
+++ doc/examples/Makefile.in
diff --git a/textproc/libxml2/patches/patch-ag b/textproc/libxml2/patches/patch-ag
deleted file mode 100644
index d64050c8437..00000000000
--- a/textproc/libxml2/patches/patch-ag
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-ag,v 1.12 2015/04/24 11:32:29 spz Exp $
-
---- encoding.c.orig 2014-10-03 11:53:06.000000000 +0000
-+++ encoding.c
-@@ -1433,6 +1433,9 @@ xmlInitCharEncodingHandlers(void) {
- xmlRegisterCharEncodingHandlersISO8859x ();
- #endif
- #endif
-+#ifdef __NetBSD__ /* XXX needed by selftest */
-+ xmlAddEncodingAlias("CP1141", "IBM-1141");
-+#endif
-
- }
-
diff --git a/textproc/libxml2/patches/patch-encoding.c b/textproc/libxml2/patches/patch-encoding.c
new file mode 100644
index 00000000000..7a8e93409f8
--- /dev/null
+++ b/textproc/libxml2/patches/patch-encoding.c
@@ -0,0 +1,65 @@
+$NetBSD$
+
+Avoid potential undefined behaviour by casting arg to toupper()
+to an appropriate value range.
+https://bugzilla.gnome.org/show_bug.cgi?id=766838
+
+Also, on NetBSD, add CP1141 encoding alias.
+
+--- encoding.c.orig 2016-05-23 07:25:25.000000000 +0000
++++ encoding.c
+@@ -1018,7 +1018,7 @@ xmlGetEncodingAlias(const char *alias) {
+ return(NULL);
+
+ for (i = 0;i < 99;i++) {
+- upper[i] = toupper(alias[i]);
++ upper[i] = toupper((unsigned char)alias[i]);
+ if (upper[i] == 0) break;
+ }
+ upper[i] = 0;
+@@ -1053,7 +1053,7 @@ xmlAddEncodingAlias(const char *name, co
+ return(-1);
+
+ for (i = 0;i < 99;i++) {
+- upper[i] = toupper(alias[i]);
++ upper[i] = toupper((unsigned char)alias[i]);
+ if (upper[i] == 0) break;
+ }
+ upper[i] = 0;
+@@ -1155,7 +1155,7 @@ xmlParseCharEncoding(const char* name)
+ name = alias;
+
+ for (i = 0;i < 499;i++) {
+- upper[i] = toupper(name[i]);
++ upper[i] = toupper((unsigned char)name[i]);
+ if (upper[i] == 0) break;
+ }
+ upper[i] = 0;
+@@ -1331,7 +1331,7 @@ xmlNewCharEncodingHandler(const char *na
+ return(NULL);
+ }
+ for (i = 0;i < 499;i++) {
+- upper[i] = toupper(name[i]);
++ upper[i] = toupper((unsigned char)name[i]);
+ if (upper[i] == 0) break;
+ }
+ upper[i] = 0;
+@@ -1433,6 +1433,9 @@ xmlInitCharEncodingHandlers(void) {
+ xmlRegisterCharEncodingHandlersISO8859x ();
+ #endif
+ #endif
++#ifdef __NetBSD__ /* XXX needed by selftest */
++ xmlAddEncodingAlias("CP1141", "IBM-1141");
++#endif
+
+ }
+
+@@ -1660,7 +1663,7 @@ xmlFindCharEncodingHandler(const char *n
+ * Check first for directly registered encoding names
+ */
+ for (i = 0;i < 99;i++) {
+- upper[i] = toupper(name[i]);
++ upper[i] = toupper((unsigned char)name[i]);
+ if (upper[i] == 0) break;
+ }
+ upper[i] = 0;
diff --git a/textproc/libxml2/patches/patch-runtest.c b/textproc/libxml2/patches/patch-runtest.c
new file mode 100644
index 00000000000..4a3c82ac1ea
--- /dev/null
+++ b/textproc/libxml2/patches/patch-runtest.c
@@ -0,0 +1,17 @@
+$NetBSD$
+
+Since this is built with C90, and %zu isn't supported then, cast
+the size_t argument to long to match the format.
+https://bugzilla.gnome.org/show_bug.cgi?id=766839
+
+--- runtest.c.orig 2016-05-23 07:25:25.000000000 +0000
++++ runtest.c
+@@ -688,7 +688,7 @@ static int compareFileMem(const char *fi
+ }
+ if (info.st_size != size) {
+ fprintf(stderr, "file %s is %ld bytes, result is %d bytes\n",
+- filename, info.st_size, size);
++ filename, (long)info.st_size, size);
+ return(-1);
+ }
+ fd = open(filename, RD_FLAGS);
diff --git a/textproc/libxml2/patches/patch-testlimits.c b/textproc/libxml2/patches/patch-testlimits.c
new file mode 100644
index 00000000000..60332ae0695
--- /dev/null
+++ b/textproc/libxml2/patches/patch-testlimits.c
@@ -0,0 +1,43 @@
+$NetBSD$
+
+Since this is built with C90, and %zu isn't supported then, cast
+the size_t argument to unsigned long to match the format.
+https://bugzilla.gnome.org/show_bug.cgi?id=766839
+
+--- testlimits.c.orig 2016-02-09 10:17:34.000000000 +0000
++++ testlimits.c
+@@ -1284,13 +1284,14 @@ saxTest(const char *filename, size_t lim
+ if (fail)
+ res = 0;
+ else {
+- fprintf(stderr, "Failed to parse '%s' %lu\n", filename, limit);
++ fprintf(stderr, "Failed to parse '%s' %lu\n", filename,
++ (unsigned long)limit);
+ res = 1;
+ }
+ } else {
+ if (fail) {
+ fprintf(stderr, "Failed to get failure for '%s' %lu\n",
+- filename, limit);
++ filename, (unsigned long)limit);
+ res = 1;
+ } else
+ res = 0;
+@@ -1339,7 +1340,7 @@ readerTest(const char *filename, size_t
+ filename, crazy_indx);
+ else
+ fprintf(stderr, "Failed to parse '%s' %lu\n",
+- filename, limit);
++ filename, (unsigned long)limit);
+ res = 1;
+ }
+ } else {
+@@ -1349,7 +1350,7 @@ readerTest(const char *filename, size_t
+ filename, crazy_indx);
+ else
+ fprintf(stderr, "Failed to get failure for '%s' %lu\n",
+- filename, limit);
++ filename, (unsigned long)limit);
+ res = 1;
+ } else
+ res = 0;
diff --git a/textproc/libxml2/patches/patch-timsort.h b/textproc/libxml2/patches/patch-timsort.h
new file mode 100644
index 00000000000..15e5d6bb871
--- /dev/null
+++ b/textproc/libxml2/patches/patch-timsort.h
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Cast argument (gcc says "unsigned int") to match %lu format.
+https://bugzilla.gnome.org/show_bug.cgi?id=766839
+
+--- timsort.h.orig 2016-02-09 10:17:34.000000000 +0000
++++ timsort.h
+@@ -323,7 +323,7 @@ static void TIM_SORT_RESIZE(TEMP_STORAGE
+ SORT_TYPE *tempstore = (SORT_TYPE *)realloc(store->storage, new_size * sizeof(SORT_TYPE));
+ if (tempstore == NULL)
+ {
+- fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", sizeof(SORT_TYPE) * new_size);
++ fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", (unsigned long)(sizeof(SORT_TYPE) * new_size));
+ exit(1);
+ }
+ store->storage = tempstore;
diff --git a/textproc/libxml2/patches/patch-xmlIO.c b/textproc/libxml2/patches/patch-xmlIO.c
new file mode 100644
index 00000000000..1ee175b79c1
--- /dev/null
+++ b/textproc/libxml2/patches/patch-xmlIO.c
@@ -0,0 +1,17 @@
+$NetBSD$
+
+Since this is built with C90, and %zu isn't supported then, cast
+the size_t argument to unsigned long to match the format.
+https://bugzilla.gnome.org/show_bug.cgi?id=766839
+
+--- xmlIO.c.orig 2016-05-23 07:25:25.000000000 +0000
++++ xmlIO.c
+@@ -1674,7 +1674,7 @@ xmlZMemBuffExtend( xmlZMemBuffPtr buff,
+ xmlStrPrintf(msg, 500,
+ "xmlZMemBuffExtend: %s %lu bytes.\n",
+ "Allocation failure extending output buffer to",
+- new_size );
++ (unsigned long)new_size );
+ xmlIOErr(XML_IO_WRITE, (const char *) msg);
+ }
+