summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Rostovtsev <tetromino@gentoo.org>2012-11-27 05:43:59 +0000
committerAlexandre Rostovtsev <tetromino@gentoo.org>2012-11-27 05:43:59 +0000
commitf23252c03586b5065219f9eb80189a5087aa0821 (patch)
tree77c96bfc83b4fc8fc13dbfe21bf8e1fb883cfca5 /dev-libs
parentAdd libxml2-2.9.x to gnome-3.6 mask (bug #444290). (diff)
downloadhistorical-f23252c03586b5065219f9eb80189a5087aa0821.tar.gz
historical-f23252c03586b5065219f9eb80189a5087aa0821.tar.bz2
historical-f23252c03586b5065219f9eb80189a5087aa0821.zip
Version bump featuring improved push parser and XPath evaluation (bug #444290). Update to EAPI5, always install docs in a devhelp-compatible location following current gnome team style guidelines, and run a more complete test suite.
Package-Manager: portage-2.2.0_alpha142/cvs/Linux x86_64 Manifest-Sign-Key: 0xCF0ADD61
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/libxml2/ChangeLog16
-rw-r--r--dev-libs/libxml2/Manifest26
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.0-disable_static_modules.patch21
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.0-large-file-parse.patch56
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.0-nsclean.patch27
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.0-rand_seed.patch31
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.0-streaming-validation.patch54
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.0-thread-alloc.patch65
-rw-r--r--dev-libs/libxml2/files/libxml2-2.9.0-thread-portability.patch37
-rw-r--r--dev-libs/libxml2/libxml2-2.9.0.ebuild226
10 files changed, 550 insertions, 9 deletions
diff --git a/dev-libs/libxml2/ChangeLog b/dev-libs/libxml2/ChangeLog
index ffa2d191b14e..29684822d1d1 100644
--- a/dev-libs/libxml2/ChangeLog
+++ b/dev-libs/libxml2/ChangeLog
@@ -1,6 +1,20 @@
# ChangeLog for dev-libs/libxml2
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.363 2012/11/26 19:56:27 tetromino Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.364 2012/11/27 05:43:54 tetromino Exp $
+
+*libxml2-2.9.0 (27 Nov 2012)
+
+ 27 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
+ +libxml2-2.9.0.ebuild, +files/libxml2-2.9.0-disable_static_modules.patch,
+ +files/libxml2-2.9.0-large-file-parse.patch,
+ +files/libxml2-2.9.0-nsclean.patch, +files/libxml2-2.9.0-rand_seed.patch,
+ +files/libxml2-2.9.0-streaming-validation.patch,
+ +files/libxml2-2.9.0-thread-alloc.patch,
+ +files/libxml2-2.9.0-thread-portability.patch:
+ Version bump featuring improved push parser and XPath evaluation (bug
+ #444290). Update to EAPI5, always install docs in a devhelp-compatible
+ location following current gnome team style guidelines, and run a more
+ complete test suite.
26 Nov 2012; Alexandre Rostovtsev <tetromino@gentoo.org>
libxml2-2.8.0-r3.ebuild:
diff --git a/dev-libs/libxml2/Manifest b/dev-libs/libxml2/Manifest
index e799dccb5170..533da68e9256 100644
--- a/dev-libs/libxml2/Manifest
+++ b/dev-libs/libxml2/Manifest
@@ -6,22 +6,32 @@ AUX libxml2-2.7.8-disable_static_modules.patch 365 SHA256 2f2ade9ee034af32cbd660
AUX libxml2-2.8.0-icu-linking.patch 3890 SHA256 69b37a49e8b9f0d71eda75a2c438426373c96290cd57a7f2c662a82066ce3b2b SHA512 c4caffcbf5e4baef4564fa9cf93a539622da61b849f2505360e0ca2243a5433cf2a318cd4df5e338bbe1a8650763d5af2894ce5d1b16196ada7b96983031c712 WHIRLPOOL 3716f2ed5cfb9fcf1024c17aa4d26a83f68c13a2d57ab64c52ba26676b6f681ad48575ac5070a679fd9ed3b3b1d11f2270bb2f281fd639159d545e5d816c3eaf
AUX libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch 692 SHA256 fd86a145f57c425f00d55a0ac515442ecb22a76462a256797a7b1d385953997f SHA512 1ef15347ddf7c34649b7664a2f9164f906ce2d4019280c2543d7209010626f3aadbba9abafb26b4bce64f6c51cfad417a1a5a4caab4a836989f753f05083cb3d WHIRLPOOL 582f19fa221fc6815ec977c6c8e74fcd5556299c10791f1be6eee1db4bfc11f509e02c157ae5afbe6cda89cf694dd82aae367425bee8e029408063d013b315df
AUX libxml2-2.8.0_rc1-winnt.patch 2392 SHA256 c18b2c15550b3ff4709a85cd18d16368928319b1b7fd8875dc34acd67076b134 SHA512 e78d010c82f18386b4f0ff84497585755b43416563bccd11f8e4dbf0153ca8842934fe05dce6c2373d8360574a2165795a78ea991682aed9610000d2bfcb0164 WHIRLPOOL a87eefa17ad113ae4aed14744715b4e1781e0869a3bb789bdf4f243bdb3687d0d4b6ee2addc85bf5b2f86b9d1cc442d946f0329011f033e3a7855ae0ad79b745
+AUX libxml2-2.9.0-disable_static_modules.patch 837 SHA256 745a4c7006874fbbbf30bd4ed07622a496445bf848a60f5ad5100889016f482a SHA512 7ced4510bcd3380f2910cac7420ab727de931939b9012f4ba034b66b32803f4e773fd81850451aa8a24530cc2d0898cebb3a329b42ab3c5daa41be63ae4303ec WHIRLPOOL 1584c94b2f8c583caa84a2ee8e2b23e31a3ef7060dba7f6c0c73fcdf7ec529e9cdc33294781465779ca7d7e6ef5265d7c0d158947ca5b3a7ba0a083333453a67
+AUX libxml2-2.9.0-large-file-parse.patch 1597 SHA256 c7ae7c9e94720f7ef1adfc5e60b0559a7a0ca0b302e8058b994f0b84b97f9ab6 SHA512 e049379b2e8cc26f6a6e348842eaa3955005834f61d56c53538ee0bd8a7cdda5cc51df8ed590a37799b1e04e692c2ef0954fb5728fb848a2e9d62162e5a761db WHIRLPOOL e360313cbf9b88f3fb6e80da44232a4d5ca84a43a9528fd2c5f102a4b47cee2da093fef24733afd958fb1c57df89d2ed30d079262b75be747e6e5ead8b3f2976
+AUX libxml2-2.9.0-nsclean.patch 806 SHA256 3f135045a44423e7e50269bbc2464af50a86f33beef08bb0af6922091b39c9f2 SHA512 6cdf243fe5424a0506645930c7fa1fe38bb43d712bec6f5d88ffb3abfb70ce9af1414ddbde3c5266af53bd3a6a8ef26c5322ae701853ec008a53b9f6dc8b79c5 WHIRLPOOL 92ff510b095214b1a548abe0c19b475cf5d8885a8feec5e804e5e351a468bf5e30af9bacc2744da66b6a488661d9763f8fba1e6ee1de60f7e7602a45415561e0
+AUX libxml2-2.9.0-rand_seed.patch 845 SHA256 3a7c229c664aade8eb454da19f90cae3d9927d4c76859c85070da13c36565f7a SHA512 caca91890785959317943aae8b21dbed4bbc3a93cbee8d52101ee38f554ca464bb423962c4f52adf515361bdaf655b6bd3a664ff7503e8777f0cb9d4938d6eed WHIRLPOOL a3404a6311b433927c44467263235faf407437efbb52fc95d8fc65b42e1ad44b8c0c7181b07e0251aa186c07e74d6350b3568407c0e09a185659740bbe5e668d
+AUX libxml2-2.9.0-streaming-validation.patch 1639 SHA256 295f3012c24d96fca5c38ca32449e3651ed85e1592db910631c7ef380b515d26 SHA512 efa42db1bae6cef4ad078d8550939a18f2e796499d428038ac1c1028466b8472963f26ade3142e89a4475c9a0c54daec0909510e7080b34538ff89ad2e82a3f1 WHIRLPOOL 188cc683b6631bb0d01ba941cf2405802cbd02ea7eb8b1a772a8511f948467f53e5a60e0463fab516c4fb11517eb7fa1e4e2d1856a537348ccbf473deae2b2fe
+AUX libxml2-2.9.0-thread-alloc.patch 1819 SHA256 ab0e44f05903ea70babeff17aaac09f344c9ce069264ecb4f27f9a6929c6af73 SHA512 80308f3f0087bcc0f08848e10c75b6333247f960190940e7a20575ce41d382fbd46350b0b8631a6c877f8edb06bcc930659c9e9e8ea71bc381f0a4287c22c935 WHIRLPOOL 24c4ba69c70ff949848795418cbfe59326c09a0b90126c67853fe7ee39854a824c56e092e7dacfe6a969eb4d451e6d2354c382c03e6d5c657eab07a50c14babe
+AUX libxml2-2.9.0-thread-portability.patch 1385 SHA256 0839bbd63e3eaa083e91e34d3c8a04700d2dc1e8242117f27d941bd16cfd9e32 SHA512 e07933f7c6a2170c822652c2216f90a60f3334a67d6ffa01e3ed9958842b0634bb4c0bb32d410dcbf99f82b091d8398adb4cf3e0666efa62a29084e1f7111ff8 WHIRLPOOL 29301cdc15e4ac04f3f03bf15099a4c70492b6b77f1bd3461613ac465311aabdb2c4dbcdefce5a2494fbbec155079fb50bd1b86904759df3c92734265ea8e405
DIST libxml2-2.8.0-namespace-node-patches.tar.bz2 4929 SHA256 659f4d9fa8971346f545492474a95e655a84c47fe02978c418528b1ad3e23af2 SHA512 37e4b985ebce9fc69f1e58eccb3281d5bc1786e3d886b5a0649d47d2564a998f95dac3b6214bfc597c993828f9d1c43cd1edb60ded8058c376e4ce024036e06d WHIRLPOOL 4209036c5ae8cdf9ab75d248fbb92e042e343f6f806d2c3fffcfa24bfa97cb156d323bec8b867a8df929b1f19f84f922cfbbd23eda6c490447e545b26f4ccf95
DIST libxml2-2.8.0.tar.gz 4915203 SHA256 f2e2d0e322685193d1affec83b21dc05d599e17a7306d7b90de95bb5b9ac622a SHA512 e36ca96e5ba18f767346f1310c43d3c8c9a35c53252de18ad63ebce7f1f8df7ae40dd0719b2c6d78f5a64e61be154eec63a36ae738d29e93a9139c524a289ad4 WHIRLPOOL 3731ba80e6f6d6eba4d12d39ff564c81f9c26ff79df8c3f7bd264c5b27332732552186f5e9f3ff10661b1571cda0b75ac966fc65d0cbb3da9e73791f6b2369ad
+DIST libxml2-2.9.0.tar.gz 5161069 SHA256 ad25d91958b7212abdc12b9611cfb4dc4e5cddb6d1e9891532f48aacee422b82 SHA512 b13268ea3725a8b534974ece33981b001324164e5687df94b0d15c77189070e2a5d9f08c1646e5492e70a607ca0adf00788772fcf300ac2d4a110e9bf57d4afe WHIRLPOOL 652e3b1e9b4241cd9bb7ab5f5c1261091378693057cb552b7f0517ebf7e48569abefde06707d4b2f56a08c13b693dcec76bdc360d7cd11937464bb4f87161116
+DIST xmlts20080827.tar.gz 638940 SHA256 96151685cec997e1f9f3387e3626d61e6284d4d6e66e0e440c209286c03e9cc7 SHA512 7325d0977c4427fc4944b291ccf896a665f654cc24399e5565c12a849c2bc3aef4fa3ee42a09ac115abcb6570c51a8fbd052c38d64d164279ecdecad5a4e884d WHIRLPOOL 50835380c3ea208df0bf9ce032ed2df69c4c6cb5a53ffdd39a08fb4f1d166f311b2ef2fe0d9911ae1ebff92aeb42f6ea55e727dfe0b7a3b95e6c7240315b3eda
DIST xsts-2002-01-16.tar.gz 6894439 SHA256 55e5c08db29946a91ea8e70e8f2418d3fd30d8b6777941dfba7f54726ffd9914 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288 WHIRLPOOL 84dd51959460a4f8aa582d57ad39229c546ca7fe155012c57c368b59f5d31400d8b940a343a7320058330ca611303139cacdffed514783f96406ac5366026b11
DIST xsts-2004-01-14.tar.gz 2761085 SHA256 09bdf9f81f381ebf9bc158a9472e498e896f7a02eb7461146e9abe1b9493ca17 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe WHIRLPOOL c46a3bf7d6dd771757f4304995cc177cf51c6cdd0e9778851fc13d3809c7b984690b4f273b3e075abe018110968eb7fc78f5b83170d3e18bacf00a4ed64b213d
EBUILD libxml2-2.8.0-r2.ebuild 6637 SHA256 3bae77607c49613e859770bbef3bfa4410021aeb5e4b5c60e2ad14009b889b10 SHA512 8803a32751ea33dff4ba28276815fdeecf6860225584916b1c9c2923bf99fd1d77d81815b1d986e9b803da2b18a7e8363d0da1daddc149eb010d46ef583adfc8 WHIRLPOOL b43e4aa7f78f3ce995de3c091acdd0713d97bab3a0680db145bf27d72930b5536867d4c29bbd4794970b7ac0a1f8456d6208e7efa9fbdb37fc8426f8eaeba79c
EBUILD libxml2-2.8.0-r3.ebuild 6801 SHA256 0c7e73704a96b1c57ff5c0b4a899a096854a82ce7420a2105f7db7b21fc36bfd SHA512 d09777ead3c64591f2ca23ec136902b3df30b7c55c9186d8f21037f8ad195ed8455f9bbf7f2a8f19347be1c34025177967be2d8db75b40af70c8dc7bf059217a WHIRLPOOL 5cfb0fb034154b503ec86b729e9f1745d9d67e0c113631ba7b3f2977a91112f9de9d5de05f8a4f5d72310c45ecc57dbc50d3c25f806b961745e1b6562b8485bb
-MISC ChangeLog 50888 SHA256 7aa679ed085fcb85614748ac24cecd63e15242f508f26bdc1c7a638bbc157252 SHA512 39f76b6a198ea6cb5cf636600b1dbaa85916fa9215175f770efef3cd2098d34e2dedf21b90ccb24a181f2f53e74b52206d0eef8bc6a120ee76e45fa85fddad8d WHIRLPOOL d031758a2af45241e079bb0197d69d691d20b3beadee1f42280eafc44a61fe4c1c4c50d3749fb73e008d38607c1efc7bd21ea7a79802bb7f3b44433aa14aa66e
+EBUILD libxml2-2.9.0.ebuild 6709 SHA256 bd8797034f93eec971d5ab022b04e322f885da1a2b0dbe6679ced1ec59cf59d5 SHA512 9bd9dd5edfcac75a7d270adb8b0a0b1bd8901a235581ace3bee69bf8119454ba08cb22881b11de9bd9946d27be53cd57087e25597c7379eb4e486814068cda50 WHIRLPOOL d79ec012de245dc17b349d112a0ce05400b70a3f4fbff79a2b8eec43ce0d0740abd9f53d55bfa8c480d12f19e9da644e0e0f5131112ff703247193af6203f9fd
+MISC ChangeLog 51561 SHA256 30d3b59e3d07b8353687adeb5aca82a39fce214f80744c7db2e2bc6e8e4864f8 SHA512 d5720cc0aee4425c7ad486bf13c7c4ff436896569d9f1bc1911ae1ff80c25621bf428ed687e33407ceb359d3ba36ce5fa020ed5204bebf3b950ea72ce95df405 WHIRLPOOL 56571c5c5daa9bff51fef4b1b581b19a6bb8a92f3e42d600477b4c56f0188cc3a4f764de7cf1e77267668c72a4b6d35f56d08881719cb32abb39aa6e1be1a978
MISC metadata.xml 158 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 SHA512 7fbfbd2b3ed1b81867d55648509f778fdbe2091af53727b3426a3c7f453ae7e1663a99fdd2101508b8d6c85b3158459c93551b77a6a394f02d7e11cbc8a5ecf4 WHIRLPOOL 4bcd5662974877d42ebc4361b6eb412bfeea2af7144b436ce7ed152327d554afc321c376625ba0bb85a704b70d86e3c4882dff3573047acddd8ffccf655d4f7e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQEcBAEBCAAGBQJQs8lsAAoJEJ0WA1zPCt1htgQIALzInL2RVyyi8WBYJfndApcE
-XQVBusgoOAqOHBdouM1WmgXQfQKl04msOO89Yq9Lv+klDevFoq0WelCmLvrElcky
-BdV9ANd+xRMmtrsUFp8ruBmki2Fhv07o6ZlJejIToSzPQ6MX8TB28/aqrNEvF7H5
-74eDU578KCI6PIL/TBuXEBM5VlzJ4Ouhj7LINRLGPct3c4upGpt6W88uSJ2Wp6dW
-YOEjAxy0GXFMbe2PkiloIOSF3OSI7WY75L1Tofut/1dhocgEGHOP7sy69gJ8vgLa
-HXFZSXZKBc/UmD2lLvJt2CdsUbJ9inXlD2f1ldmNbpPP0CwTqoqJ8bKgpElZ4BQ=
-=iLBr
+iQEcBAEBCAAGBQJQtFMbAAoJEJ0WA1zPCt1hrxQH/AwJGxqHv1J0kK88HQiQzJ36
++1fLrxSdodtuL/WmDQ1oW8i9ihjEvQlrrzrFuyXTpCBYV/Tt0gR87rdKL/Q+wgGv
+jqmdQMYihxiXyY2gl816posTLlZkc2SRnJah5l8B/KxawBSlA/FH6LnL1TO7juSY
+U7vY9mFvrgjB4RymsG12S2iP1mxYCGZ4uT/RnHLz+qmJuQmbCZRu2NTyxUzuTQsf
+9dMuBxMOpuIEnXCIDWL0GWiY0cUhX0U2R2OonDgGK/y4nakuOp0OHz0S6BJYhsfz
+SGCacgkiHT5x0c4cEf9dbts/F32echeJ0selpB5YB1vDEu0L/xDcnGs8LjEgjNs=
+=O18X
-----END PGP SIGNATURE-----
diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-disable_static_modules.patch b/dev-libs/libxml2/files/libxml2-2.9.0-disable_static_modules.patch
new file mode 100644
index 000000000000..a7a8215d861b
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.0-disable_static_modules.patch
@@ -0,0 +1,21 @@
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 4a8b5d5..b976893 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -19,13 +19,14 @@ if WITH_PYTHON
+ AM_CPPFLAGS = \
+ -I$(top_builddir)/include \
+ -I$(top_srcdir)/include \
+- -I$(PYTHON_INCLUDES)
++ -I$(PYTHON_INCLUDES) \
++ -shared
+
+ python_LTLIBRARIES = libxml2mod.la
+
+ libxml2mod_la_SOURCES = libxml.c libxml_wrap.h libxml2-py.h libxml2-py.c types.c
+ libxml2mod_la_LIBADD = $(top_builddir)/libxml2.la $(CYGWIN_EXTRA_PYTHON_LIBADD) $(WIN32_EXTRA_PYTHON_LIBADD) $(PYTHON_LIBS) -lpython$(PYTHON_VERSION)
+-libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version
++libxml2mod_la_LDFLAGS = $(CYGWIN_EXTRA_LDFLAGS) $(WIN32_EXTRA_LDFLAGS) -module -avoid-version -shared
+
+ BUILT_SOURCES = libxml2-export.c libxml2-py.h libxml2-py.c
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-large-file-parse.patch b/dev-libs/libxml2/files/libxml2-2.9.0-large-file-parse.patch
new file mode 100644
index 000000000000..61de4d624a8f
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.0-large-file-parse.patch
@@ -0,0 +1,56 @@
+From 153cf15905cf4ec080612ada6703757d10caba1e Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Fri, 26 Oct 2012 13:50:47 +0800
+Subject: [PATCH] Fix large parse of file from memory
+
+https://bugzilla.redhat.com/show_bug.cgi?id=862969
+The new code trying to detect excessive input lookup would
+just get wrong sometimes in the case of very large file parsed
+directly from memory.
+---
+ libxml.h | 2 ++
+ parser.c | 1 +
+ xmlIO.c | 2 +-
+ 3 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/libxml.h b/libxml.h
+index efe285b..7558b5f 100644
+--- a/libxml.h
++++ b/libxml.h
+@@ -91,6 +91,8 @@ void __xmlGlobalInitMutexDestroy(void);
+ int __xmlRandom(void);
+ #endif
+
++int xmlNop(void);
++
+ #ifdef IN_LIBXML
+ #ifdef __GNUC__
+ #ifdef PIC
+diff --git a/parser.c b/parser.c
+index 43f53d9..0d8d7f2 100644
+--- a/parser.c
++++ b/parser.c
+@@ -2025,6 +2025,7 @@ static void xmlSHRINK (xmlParserCtxtPtr ctxt) {
+ static void xmlGROW (xmlParserCtxtPtr ctxt) {
+ if ((((ctxt->input->end - ctxt->input->cur) > XML_MAX_LOOKUP_LIMIT) ||
+ ((ctxt->input->cur - ctxt->input->base) > XML_MAX_LOOKUP_LIMIT)) &&
++ ((ctxt->input->buf) && (ctxt->input->buf->readcallback != xmlNop)) &&
+ ((ctxt->options & XML_PARSE_HUGE) == 0)) {
+ xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup");
+ ctxt->instate = XML_PARSER_EOF;
+diff --git a/xmlIO.c b/xmlIO.c
+index f8f438b..44254e4 100644
+--- a/xmlIO.c
++++ b/xmlIO.c
+@@ -800,7 +800,7 @@ xmlCheckFilename (const char *path)
+ return 1;
+ }
+
+-static int
++int
+ xmlNop(void) {
+ return(0);
+ }
+--
+1.8.0
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-nsclean.patch b/dev-libs/libxml2/files/libxml2-2.9.0-nsclean.patch
new file mode 100644
index 000000000000..994363fa9def
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.0-nsclean.patch
@@ -0,0 +1,27 @@
+From 711b15d545713b3a34a51ce8163d1162533647c9 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 25 Oct 2012 19:23:26 +0800
+Subject: [PATCH] Fix a bug in the nsclean option of the parser
+
+Raised as a side effect of:
+https://bugzilla.gnome.org/show_bug.cgi?id=663844
+---
+ parser.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/parser.c b/parser.c
+index 19f1217..43f53d9 100644
+--- a/parser.c
++++ b/parser.c
+@@ -1540,7 +1540,7 @@ nsPush(xmlParserCtxtPtr ctxt, const xmlChar *prefix, const xmlChar *URL)
+ {
+ if (ctxt->options & XML_PARSE_NSCLEAN) {
+ int i;
+- for (i = 0;i < ctxt->nsNr;i += 2) {
++ for (i = ctxt->nsNr - 2;i >= 0;i -= 2) {
+ if (ctxt->nsTab[i] == prefix) {
+ /* in scope */
+ if (ctxt->nsTab[i + 1] == URL)
+--
+1.8.0
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-rand_seed.patch b/dev-libs/libxml2/files/libxml2-2.9.0-rand_seed.patch
new file mode 100644
index 000000000000..7798a2c7b27e
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.0-rand_seed.patch
@@ -0,0 +1,31 @@
+From e7715a5963afebfb027120db6914926ec9a7373d Mon Sep 17 00:00:00 2001
+From: Wouter Van Rooy <rooywo@vasco.com>
+Date: Fri, 14 Sep 2012 14:39:42 +0800
+Subject: [PATCH] rand_seed should be static in dict.c
+
+For https://bugzilla.gnome.org/show_bug.cgi?id=683933
+rand_seed should be a static variable in dict.c
+
+We ran into a problem with another library that exports rand_seed as a
+function. Combined with 2.7.8 this was not a problem but later versions
+have this problem.
+---
+ dict.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dict.c b/dict.c
+index 9935a25..164c7f2 100644
+--- a/dict.c
++++ b/dict.c
+@@ -143,7 +143,7 @@ static int xmlDictInitialized = 0;
+ /*
+ * Internal data for random function, protected by xmlDictMutex
+ */
+-unsigned int rand_seed = 0;
++static unsigned int rand_seed = 0;
+ #endif
+ #endif
+
+--
+1.8.0
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-streaming-validation.patch b/dev-libs/libxml2/files/libxml2-2.9.0-streaming-validation.patch
new file mode 100644
index 000000000000..5fa2d6f0c157
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.0-streaming-validation.patch
@@ -0,0 +1,54 @@
+From 6c91aa384f48ff6d406553a6dd47fd556c1ef2e6 Mon Sep 17 00:00:00 2001
+From: Daniel Veillard <veillard@redhat.com>
+Date: Thu, 25 Oct 2012 15:33:59 +0800
+Subject: [PATCH] Fix a regression in 2.9.0 breaking validation while
+ streaming
+
+https://bugzilla.gnome.org/show_bug.cgi?id=684774
+with help from Kjell Ahlstedt <kjell.ahlstedt@bredband.net>
+---
+ SAX2.c | 2 +-
+ parser.c | 7 +++++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/SAX2.c b/SAX2.c
+index a24abc8..3eea39a 100644
+--- a/SAX2.c
++++ b/SAX2.c
+@@ -2202,7 +2202,7 @@ xmlSAX2StartElementNs(void *ctx,
+ (ctxt->myDoc->intSubset->elements == NULL) &&
+ (ctxt->myDoc->intSubset->attributes == NULL) &&
+ (ctxt->myDoc->intSubset->entities == NULL)))) {
+- xmlErrValid(ctxt, XML_ERR_NO_DTD,
++ xmlErrValid(ctxt, XML_DTD_NO_DTD,
+ "Validation failed: no DTD found !", NULL, NULL);
+ ctxt->validate = 0;
+ }
+diff --git a/parser.c b/parser.c
+index 28b0d80..19f1217 100644
+--- a/parser.c
++++ b/parser.c
+@@ -11633,7 +11633,7 @@ xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
+ "PP: Parsing internal subset\n");
+ #endif
+ ctxt->inSubset = 1;
+- ctxt->progressive = 1;
++ ctxt->progressive = 0;
+ ctxt->checkIndex = 0;
+ xmlParseDocTypeDecl(ctxt);
+ if (RAW == '[') {
+@@ -12219,7 +12219,10 @@ xmldecl_done:
+ }
+ ctxt->instate = XML_PARSER_EOF;
+ }
+- return((xmlParserErrors) ctxt->errNo);
++ if (ctxt->wellFormed == 0)
++ return((xmlParserErrors) ctxt->errNo);
++ else
++ return(0);
+ }
+
+ /************************************************************************
+--
+1.8.0
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-thread-alloc.patch b/dev-libs/libxml2/files/libxml2-2.9.0-thread-alloc.patch
new file mode 100644
index 000000000000..2d0d5f788a4e
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.0-thread-alloc.patch
@@ -0,0 +1,65 @@
+From 0ad948ede2b5060a144c72e4e27c38d24a272ef4 Mon Sep 17 00:00:00 2001
+From: Tim Starling <tstarling@wikimedia.org>
+Date: Mon, 29 Oct 2012 13:41:55 +1100
+Subject: [PATCH] Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h
+
+Otherwise, direct calls to xmlFree() etc. from the application will
+use a different set of allocation functions to what was used to allocate
+the memory internally.
+---
+ configure.in | 4 +++-
+ include/libxml/xmlversion.h.in | 9 +++++++++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/configure.in b/configure.in
+index 6da057c..245c033 100644
+--- a/configure.in
++++ b/configure.in
+@@ -954,6 +954,7 @@ WITH_THREADS=0
+ THREAD_CFLAGS=""
+ TEST_THREADS=""
+ THREADS_W32=""
++WITH_THREAD_ALLOC=0
+
+ if test "$with_threads" = "no" ; then
+ echo Disabling multithreaded support
+@@ -1017,7 +1018,7 @@ else
+ fi
+ fi
+ if test "$with_thread_alloc" = "yes" -a "$WITH_THREADS" = "1" ; then
+- THREAD_CFLAGS="$THREAD_CFLAGS -DLIBXML_THREAD_ALLOC_ENABLED"
++ WITH_THREAD_ALLOC=1
+ fi
+
+ AC_SUBST(THREAD_LIBS)
+@@ -1025,6 +1026,7 @@ AC_SUBST(BASE_THREAD_LIBS)
+ AC_SUBST(WITH_THREADS)
+ AC_SUBST(THREAD_CFLAGS)
+ AC_SUBST(TEST_THREADS)
++AC_SUBST(WITH_THREAD_ALLOC)
+ AM_CONDITIONAL([THREADS_W32],[test -n "$THREADS_W32"])
+
+ dnl
+diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in
+index c98e7ca..00a836f 100644
+--- a/include/libxml/xmlversion.h.in
++++ b/include/libxml/xmlversion.h.in
+@@ -98,6 +98,15 @@ XMLPUBFUN void XMLCALL xmlCheckVersion(int version);
+ #endif
+
+ /**
++ * LIBXML_THREAD_ALLOC_ENABLED:
++ *
++ * Whether the allocation hooks are per-thread
++ */
++#if @WITH_THREAD_ALLOC@
++#define LIBXML_THREAD_ALLOC_ENABLED
++#endif
++
++/**
+ * LIBXML_TREE_ENABLED:
+ *
+ * Whether the DOM like tree manipulation API support is configured in
+--
+1.8.0
+
diff --git a/dev-libs/libxml2/files/libxml2-2.9.0-thread-portability.patch b/dev-libs/libxml2/files/libxml2-2.9.0-thread-portability.patch
new file mode 100644
index 000000000000..a85d6129174d
--- /dev/null
+++ b/dev-libs/libxml2/files/libxml2-2.9.0-thread-portability.patch
@@ -0,0 +1,37 @@
+From 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e Mon Sep 17 00:00:00 2001
+From: Friedrich Haubensak <hsk@fli-leibniz.de>
+Date: Wed, 12 Sep 2012 17:34:53 +0200
+Subject: [PATCH] Fix a thread portability problem
+
+cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
+
+I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
+a structure assignment anyway
+---
+ threads.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/threads.c b/threads.c
+index f206149..7e85a26 100644
+--- a/threads.c
++++ b/threads.c
+@@ -146,6 +146,7 @@ struct _xmlRMutex {
+ static pthread_key_t globalkey;
+ static pthread_t mainthread;
+ static pthread_once_t once_control = PTHREAD_ONCE_INIT;
++static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
+ static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
+ #elif defined HAVE_WIN32_THREADS
+ #if defined(HAVE_COMPILER_TLS)
+@@ -915,7 +916,7 @@ xmlCleanupThreads(void)
+ #ifdef HAVE_PTHREAD_H
+ if ((libxml_is_threaded) && (pthread_key_delete != NULL))
+ pthread_key_delete(globalkey);
+- once_control = PTHREAD_ONCE_INIT;
++ once_control = once_control_init;
+ #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+ if (globalkey != TLS_OUT_OF_INDEXES) {
+ xmlGlobalStateCleanupHelperParams *p;
+--
+1.8.0
+
diff --git a/dev-libs/libxml2/libxml2-2.9.0.ebuild b/dev-libs/libxml2/libxml2-2.9.0.ebuild
new file mode 100644
index 000000000000..9d40169a35d5
--- /dev/null
+++ b/dev-libs/libxml2/libxml2-2.9.0.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.9.0.ebuild,v 1.1 2012/11/27 05:43:54 tetromino Exp $
+
+EAPI="5"
+PYTHON_DEPEND="python? 2"
+PYTHON_USE_WITH="xml"
+PYTHON_USE_WITH_OPT="python"
+SUPPORT_PYTHON_ABIS="1"
+RESTRICT_PYTHON_ABIS="3.* *-jython 2.7-pypy-*"
+
+inherit libtool flag-o-matic eutils python autotools prefix
+
+DESCRIPTION="Version 2 of the library to manipulate XML files"
+HOMEPAGE="http://www.xmlsoft.org/"
+
+LICENSE="MIT"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="debug examples icu ipv6 lzma python readline static-libs test"
+
+XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
+XSTS_NAME_1="xmlschema2002-01-16"
+XSTS_NAME_2="xmlschema2004-01-14"
+XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
+XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
+XMLCONF_TARBALL="xmlts20080827.tar.gz"
+
+SRC_URI="ftp://xmlsoft.org/${PN}/${PN}-${PV/_rc/-rc}.tar.gz
+ test? (
+ ${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
+ ${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
+ http://www.w3.org/XML/Test/${XMLCONF_TARBALL} )"
+
+RDEPEND="sys-libs/zlib
+ icu? ( dev-libs/icu )
+ lzma? ( app-arch/xz-utils )
+ readline? ( sys-libs/readline )"
+
+DEPEND="${RDEPEND}
+ dev-util/gtk-doc-am
+ hppa? ( >=sys-devel/binutils-2.15.92.0.2 )"
+
+S="${WORKDIR}/${PN}-${PV%_rc*}"
+
+pkg_setup() {
+ use python && python_pkg_setup
+}
+
+src_unpack() {
+ # ${A} isn't used to avoid unpacking of test tarballs into $WORKDIR,
+ # as they are needed as tarballs in ${S}/xstc instead and not unpacked
+ unpack ${P/_rc/-rc}.tar.gz
+ cd "${S}"
+
+ if use test; then
+ cp "${DISTDIR}/${XSTS_TARBALL_1}" \
+ "${DISTDIR}/${XSTS_TARBALL_2}" \
+ "${S}"/xstc/ \
+ || die "Failed to install test tarballs"
+ unpack ${XMLCONF_TARBALL}
+ fi
+}
+
+src_prepare() {
+ # Patches needed for prefix support
+ epatch "${FILESDIR}"/${PN}-2.7.1-catalog_path.patch
+ epatch "${FILESDIR}"/${PN}-2.8.0_rc1-winnt.patch
+
+ eprefixify catalog.c xmlcatalog.c runtest.c xmllint.c
+
+ epunt_cxx
+
+ epatch "${FILESDIR}/${PN}-2.9.0-disable_static_modules.patch"
+
+ # Important patches from 2.9.1
+ epatch "${FILESDIR}/${P}-rand_seed.patch" \
+ "${FILESDIR}/${P}-thread-portability.patch" \
+ "${FILESDIR}/${P}-streaming-validation.patch" \
+ "${FILESDIR}/${P}-nsclean.patch" \
+ "${FILESDIR}/${P}-large-file-parse.patch" \
+ "${FILESDIR}/${P}-thread-alloc.patch"
+
+ # Buffer underflow in xmlParseAttValueComplex, bug #444836; fixed in 2.9.1
+ epatch "${FILESDIR}/${PN}-2.8.0-xmlParseAttValueComplex-underflow.patch"
+
+ # Please do not remove, as else we get references to PORTAGE_TMPDIR
+ # in /usr/lib/python?.?/site-packages/libxml2mod.la among things.
+ # We now need to run eautoreconf at the end to prevent maintainer mode.
+# elibtoolize
+
+ # Python bindings are built/tested/installed manually.
+ sed -e 's/$(PYTHON_SUBDIR)//' -i Makefile.am || die "sed 1 failed"
+
+ # Use Gentoo's python-config naming scheme
+ sed -e 's/python$PYTHON_VERSION-config/python-config-$PYTHON_VERSION/' \
+ -i configure.in || die "sed 2 failed"
+
+ eautoreconf
+}
+
+src_configure() {
+ # USE zlib support breaks gnome2
+ # (libgnomeprint for instance fails to compile with
+ # fresh install, and existing) - <azarah@gentoo.org> (22 Dec 2002).
+
+ # The meaning of the 'debug' USE flag does not apply to the --with-debug
+ # switch (enabling the libxml2 debug module). See bug #100898.
+
+ # --with-mem-debug causes unusual segmentation faults (bug #105120).
+
+ local myconf=(
+ --with-html-subdir=${PF}/html
+ --docdir="${EPREFIX}/usr/share/doc/${PF}"
+ $(use_with debug run-debug)
+ $(use_with icu)
+ $(use_with lzma)
+ $(use_with python)
+ $(use_with readline)
+ $(use_with readline history)
+ $(use_enable ipv6)
+ $(use_enable static-libs static) )
+
+ # filter seemingly problematic CFLAGS (#26320)
+ filter-flags -fprefetch-loop-arrays -funroll-loops
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+
+ if use python; then
+ python_copy_sources python
+ building() {
+ emake PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \
+ PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)"
+ }
+ python_execute_function -s --source-dir python building
+ fi
+}
+
+src_test() {
+ default
+
+ if use python; then
+ testing() {
+ emake test
+ }
+ python_execute_function -s --source-dir python testing
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" \
+ EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples \
+ install || die "Installation failed"
+
+ # on windows, xmllint is installed by interix libxml2 in parent prefix.
+ # this is the version to use. the native winnt version does not support
+ # symlinks, which makes repoman fail if the portage tree is linked in
+ # from another location (which is my default). -- mduft
+ if [[ ${CHOST} == *-winnt* ]]; then
+ rm -rf "${ED}"/usr/bin/xmllint
+ rm -rf "${ED}"/usr/bin/xmlcatalog
+ fi
+
+ if use python; then
+ installation() {
+ emake DESTDIR="${D}" \
+ PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
+ docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \
+ exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \
+ install
+ }
+ python_execute_function -s --source-dir python installation
+
+ python_clean_installation_image
+ fi
+
+ rm -rf "${ED}"/usr/share/doc/${P}
+ dodoc AUTHORS ChangeLog Copyright NEWS README* TODO*
+
+ if ! use python; then
+ rm -rf "${ED}"/usr/share/doc/${PF}/python
+ rm -rf "${ED}"/usr/share/doc/${PN}-python-${PV}
+ fi
+
+ if ! use examples; then
+ rm -rf "${ED}/usr/share/doc/${PF}/examples"
+ rm -rf "${ED}/usr/share/doc/${PF}/python/examples"
+ fi
+
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ if use python; then
+ python_mod_optimize drv_libxml2.py libxml2.py
+ fi
+
+ # We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
+ # be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
+ if [ "${ROOT}" != "/" ]
+ then
+ elog "Skipping XML catalog creation for stage building (bug #208887)."
+ else
+ # need an XML catalog, so no-one writes to a non-existent one
+ CATALOG="${EROOT}etc/xml/catalog"
+
+ # we dont want to clobber an existing catalog though,
+ # only ensure that one is there
+ # <obz@gentoo.org>
+ if [ ! -e ${CATALOG} ]; then
+ [ -d "${EROOT}etc/xml" ] || mkdir -p "${EROOT}etc/xml"
+ "${EPREFIX}"/usr/bin/xmlcatalog --create > ${CATALOG}
+ einfo "Created XML catalog in ${CATALOG}"
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use python; then
+ python_mod_cleanup drv_libxml2.py libxml2.py
+ fi
+}