diff options
author | Pacho Ramos <pacho@gentoo.org> | 2013-10-19 14:05:38 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2013-10-19 14:05:38 +0000 |
commit | 3d19365c8486e81cb383afd86e3ec81a4d37b4f4 (patch) | |
tree | 1b7994258b4f159e5a7c448e50c8f4e1eae50946 /dev-libs/libxml2 | |
parent | Let people emerge this by default (#472932), reconsider when it starts to sup... (diff) | |
download | gentoo-2-3d19365c8486e81cb383afd86e3ec81a4d37b4f4.tar.gz gentoo-2-3d19365c8486e81cb383afd86e3ec81a4d37b4f4.tar.bz2 gentoo-2-3d19365c8486e81cb383afd86e3ec81a4d37b4f4.zip |
Drop old
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
Diffstat (limited to 'dev-libs/libxml2')
14 files changed, 14 insertions, 1165 deletions
diff --git a/dev-libs/libxml2/ChangeLog b/dev-libs/libxml2/ChangeLog index 8a9c9fb8a433..f73336aaa15a 100644 --- a/dev-libs/libxml2/ChangeLog +++ b/dev-libs/libxml2/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for dev-libs/libxml2 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.402 2013/09/05 18:29:53 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/ChangeLog,v 1.403 2013/10/19 14:05:37 pacho Exp $ + + 19 Oct 2013; Pacho Ramos <pacho@gentoo.org> + -files/libxml2-2.7.8-disable_static_modules.patch, + -files/libxml2-2.8.0-icu-linking.patch, + -files/libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch, + -files/libxml2-2.9.0-disable_static_modules.patch, + -files/libxml2-2.9.0-excessive-entity-expansion.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-portability.patch, -libxml2-2.8.0-r3.ebuild, + -libxml2-2.9.0-r2.ebuild, -libxml2-2.9.1.ebuild: + Drop old 05 Sep 2013; Michał Górny <mgorny@gentoo.org> libxml2-2.9.0-r2.ebuild, libxml2-2.9.1-r1.ebuild, libxml2-2.9.1.ebuild: diff --git a/dev-libs/libxml2/files/libxml2-2.7.8-disable_static_modules.patch b/dev-libs/libxml2/files/libxml2-2.7.8-disable_static_modules.patch deleted file mode 100644 index 5f47e1d619cf..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.7.8-disable_static_modules.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- python/Makefile.am -+++ python/Makefile.am -@@ -21,7 +21,8 @@ - libxml.py \ - libxml2-python-api.xml - --libxml2mod_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -module -avoid-version -+libxml2mod_la_CPPFLAGS = -shared -+libxml2mod_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ -module -avoid-version -shared - - if WITH_PYTHON - mylibs = \ diff --git a/dev-libs/libxml2/files/libxml2-2.8.0-icu-linking.patch b/dev-libs/libxml2/files/libxml2-2.8.0-icu-linking.patch deleted file mode 100644 index 92c9a98c655c..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.8.0-icu-linking.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 6ee653ecbef38c0e57860903541f1f3c97dbe75b Mon Sep 17 00:00:00 2001 -From: Arfrever Frehtes Taifersar Arahesis <arfrever.fta@gmail.com> -Date: Sat, 26 May 2012 17:37:43 +0000 -Subject: [PATCH] Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking - errors - ---- - Makefile.am | 2 +- - configure.in | 15 ++++++++------- - libxml-2.0-uninstalled.pc.in | 2 +- - libxml-2.0.pc.in | 2 +- - 4 files changed, 11 insertions(+), 10 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index f82cefa..0b25666 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -18,7 +18,7 @@ bin_PROGRAMS = xmllint xmlcatalog - bin_SCRIPTS=xml2-config - - lib_LTLIBRARIES = libxml2.la --libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@ -+libxml2_la_LIBADD = @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @LZMA_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@ - - if USE_VERSION_SCRIPT - LIBXML2_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms -diff --git a/configure.in b/configure.in -index 0fb4983..ac45b58 100644 ---- a/configure.in -+++ b/configure.in -@@ -97,7 +97,7 @@ dnl - dnl zlib option might change flags, so we save them initially - dnl - _cppflags="${CPPFLAGS}" --_ldflags="${LDFLAGS}" -+_libs="${LIBS}" - - AC_ARG_WITH(c14n, - [ --with-c14n add the Canonicalization support (on)]) -@@ -154,7 +154,7 @@ AC_ARG_WITH(readline, - if test "$withval" != "no" -a "$withval" != "yes"; then - RDL_DIR=$withval - CPPFLAGS="${CPPFLAGS} -I$withval/include" -- LDFLAGS="${LDFLAGS} -L$withval/lib" -+ LIBS="${LIBS} -L$withval/lib" - fi - ]) - AC_ARG_WITH(regexps, -@@ -190,7 +190,7 @@ AC_ARG_WITH(zlib, - if test "$withval" != "no" -a "$withval" != "yes"; then - Z_DIR=$withval - CPPFLAGS="${CPPFLAGS} -I$withval/include" -- LDFLAGS="${LDFLAGS} -L$withval/lib" -+ LIBS="${LIBS} -L$withval/lib" - fi - ]) - AC_ARG_WITH(lzma, -@@ -198,7 +198,7 @@ AC_ARG_WITH(lzma, - if test "$withval" != "no" -a "$withval" != "yes"; then - LZMA_DIR=$withval - CPPFLAGS="${CPPFLAGS} -I$withval/include" -- LDFLAGS="${LDFLAGS} -L$withval/lib" -+ LIBS="${LIBS} -L$withval/lib" - fi - ]) - AC_ARG_WITH(coverage, -@@ -428,7 +428,7 @@ AC_SUBST(LZMA_LIBS) - AC_SUBST(WITH_LZMA) - - CPPFLAGS=${_cppflags} --LDFLAGS=${_ldflags} -+LIBS=${_libs} - - echo Checking headers - -@@ -1365,14 +1365,14 @@ XML_LIBTOOLLIBS="libxml2.la" - AC_SUBST(WITH_ICONV) - - WITH_ICU=0 -+ICU_LIBS="" - if test "$with_icu" != "yes" ; then - echo Disabling ICU support - else - ICU_CONFIG=icu-config - if ${ICU_CONFIG} --cflags >/dev/null 2>&1 - then -- ICU_LIBS=`icu-config --ldflags` -- LDFLAGS="$LDFLAGS $ICU_LIBS" -+ ICU_LIBS=`${ICU_CONFIG} --ldflags` - WITH_ICU=1 - echo Enabling ICU support - else -@@ -1380,6 +1380,7 @@ else - fi - fi - AC_SUBST(WITH_ICU) -+AC_SUBST(ICU_LIBS) - - WITH_ISO8859X=1 - if test "$WITH_ICONV" != "1" ; then -diff --git a/libxml-2.0-uninstalled.pc.in b/libxml-2.0-uninstalled.pc.in -index 0a4c833..cab6834 100644 ---- a/libxml-2.0-uninstalled.pc.in -+++ b/libxml-2.0-uninstalled.pc.in -@@ -8,5 +8,5 @@ Name: libXML - Version: @VERSION@ - Description: libXML library version2. - Requires: --Libs: -L${libdir} -lxml2 @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@ -+Libs: -L${libdir} -lxml2 @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @LIBS@ - Cflags: -I${includedir} @XML_INCLUDEDIR@ @XML_CFLAGS@ -diff --git a/libxml-2.0.pc.in b/libxml-2.0.pc.in -index 31a1b8c..f5f5f03 100644 ---- a/libxml-2.0.pc.in -+++ b/libxml-2.0.pc.in -@@ -9,5 +9,5 @@ Version: @VERSION@ - Description: libXML library version2. - Requires: - Libs: -L${libdir} -lxml2 --Libs.private: @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@ -+Libs.private: @ICU_LIBS@ @THREAD_LIBS@ @Z_LIBS@ @ICONV_LIBS@ @M_LIBS@ @WIN32_EXTRA_LIBADD@ @LIBS@ - Cflags: @XML_INCLUDEDIR@ @XML_CFLAGS@ --- -1.7.8.6 - diff --git a/dev-libs/libxml2/files/libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch b/dev-libs/libxml2/files/libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch deleted file mode 100644 index be9cfee03a9f..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.8.0-xmlParseAttValueComplex-underflow.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6a36fbe3b3e001a8a840b5c1fdd81cefc9947f0d Mon Sep 17 00:00:00 2001 -From: Daniel Veillard <veillard@redhat.com> -Date: Mon, 29 Oct 2012 10:39:55 +0800 -Subject: [PATCH] Fix potential out of bound access - ---- - parser.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/parser.c b/parser.c -index 0d8d7f2..bd634e9 100644 ---- a/parser.c -+++ b/parser.c -@@ -4076,7 +4076,7 @@ xmlParseAttValueComplex(xmlParserCtxtPtr ctxt, int *attlen, int normalize) { - goto error; - - if ((in_space) && (normalize)) { -- while (buf[len - 1] == 0x20) len--; -+ while ((len > 0) && (buf[len - 1] == 0x20)) len--; - } - buf[len] = 0; - if (RAW == '<') { --- -1.8.0 - 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 deleted file mode 100644 index a7a8215d861b..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.9.0-disable_static_modules.patch +++ /dev/null @@ -1,21 +0,0 @@ -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-excessive-entity-expansion.patch b/dev-libs/libxml2/files/libxml2-2.9.0-excessive-entity-expansion.patch deleted file mode 100644 index d7ff539d40c1..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.9.0-excessive-entity-expansion.patch +++ /dev/null @@ -1,156 +0,0 @@ -From 23f05e0c33987d6605387b300c4be5da2120a7ab Mon Sep 17 00:00:00 2001 -From: Daniel Veillard <veillard@redhat.com> -Date: Tue, 19 Feb 2013 10:21:49 +0800 -Subject: [PATCH] Detect excessive entities expansion upon replacement - -If entities expansion in the XML parser is asked for, -it is possble to craft relatively small input document leading -to excessive on-the-fly content generation. -This patch accounts for those replacement and stop parsing -after a given threshold. it can be bypassed as usual with the -HUGE parser option. ---- - include/libxml/parser.h | 1 + - parser.c | 44 ++++++++++++++++++++++++++++++++++++++------ - parserInternals.c | 2 ++ - 3 files changed, 41 insertions(+), 6 deletions(-) - -diff --git a/include/libxml/parser.h b/include/libxml/parser.h -index e1346e4..3f5730d 100644 ---- a/include/libxml/parser.h -+++ b/include/libxml/parser.h -@@ -310,6 +310,7 @@ struct _xmlParserCtxt { - xmlParserNodeInfo *nodeInfoTab; /* array of nodeInfos */ - - int input_id; /* we need to label inputs */ -+ unsigned long sizeentcopy; /* volume of entity copy */ - }; - - /** -diff --git a/parser.c b/parser.c -index 91f8c90..ddf3b5b 100644 ---- a/parser.c -+++ b/parser.c -@@ -122,7 +122,7 @@ xmlCreateEntityParserCtxtInternal(const xmlChar *URL, const xmlChar *ID, - */ - static int - xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size, -- xmlEntityPtr ent) -+ xmlEntityPtr ent, size_t replacement) - { - size_t consumed = 0; - -@@ -130,7 +130,24 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size, - return (0); - if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP) - return (1); -- if (size != 0) { -+ if (replacement != 0) { -+ if (replacement < XML_MAX_TEXT_LENGTH) -+ return(0); -+ -+ /* -+ * If the volume of entity copy reaches 10 times the -+ * amount of parsed data and over the large text threshold -+ * then that's very likely to be an abuse. -+ */ -+ if (ctxt->input != NULL) { -+ consumed = ctxt->input->consumed + -+ (ctxt->input->cur - ctxt->input->base); -+ } -+ consumed += ctxt->sizeentities; -+ -+ if (replacement < XML_PARSER_NON_LINEAR * consumed) -+ return(0); -+ } else if (size != 0) { - /* - * Do the check based on the replacement size of the entity - */ -@@ -176,7 +193,6 @@ xmlParserEntityCheck(xmlParserCtxtPtr ctxt, size_t size, - */ - return (0); - } -- - xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL); - return (1); - } -@@ -2743,7 +2759,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, - while (*current != 0) { /* non input consuming loop */ - buffer[nbchars++] = *current++; - if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) { -- if (xmlParserEntityCheck(ctxt, nbchars, ent)) -+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0)) - goto int_error; - growBuffer(buffer, XML_PARSER_BUFFER_SIZE); - } -@@ -2785,7 +2801,7 @@ xmlStringLenDecodeEntities(xmlParserCtxtPtr ctxt, const xmlChar *str, int len, - while (*current != 0) { /* non input consuming loop */ - buffer[nbchars++] = *current++; - if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) { -- if (xmlParserEntityCheck(ctxt, nbchars, ent)) -+ if (xmlParserEntityCheck(ctxt, nbchars, ent, 0)) - goto int_error; - growBuffer(buffer, XML_PARSER_BUFFER_SIZE); - } -@@ -7203,7 +7219,7 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { - xmlFreeNodeList(list); - return; - } -- if (xmlParserEntityCheck(ctxt, 0, ent)) { -+ if (xmlParserEntityCheck(ctxt, 0, ent, 0)) { - xmlFreeNodeList(list); - return; - } -@@ -7361,6 +7377,13 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { - xmlNodePtr nw = NULL, cur, firstChild = NULL; - - /* -+ * We are copying here, make sure there is no abuse -+ */ -+ ctxt->sizeentcopy += ent->length; -+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy)) -+ return; -+ -+ /* - * when operating on a reader, the entities definitions - * are always owning the entities subtree. - if (ctxt->parseMode == XML_PARSE_READER) -@@ -7400,6 +7423,14 @@ xmlParseReference(xmlParserCtxtPtr ctxt) { - } else if ((list == NULL) || (ctxt->inputNr > 0)) { - xmlNodePtr nw = NULL, cur, next, last, - firstChild = NULL; -+ -+ /* -+ * We are copying here, make sure there is no abuse -+ */ -+ ctxt->sizeentcopy += ent->length; -+ if (xmlParserEntityCheck(ctxt, 0, ent, ctxt->sizeentcopy)) -+ return; -+ - /* - * Copy the entity child list and make it the new - * entity child list. The goal is to make sure any -@@ -14767,6 +14798,7 @@ xmlCtxtReset(xmlParserCtxtPtr ctxt) - ctxt->catalogs = NULL; - ctxt->nbentities = 0; - ctxt->sizeentities = 0; -+ ctxt->sizeentcopy = 0; - xmlInitNodeInfoSeq(&ctxt->node_seq); - - if (ctxt->attsDefault != NULL) { -diff --git a/parserInternals.c b/parserInternals.c -index 02032d5..f8a7041 100644 ---- a/parserInternals.c -+++ b/parserInternals.c -@@ -1719,6 +1719,8 @@ xmlInitParserCtxt(xmlParserCtxtPtr ctxt) - ctxt->charset = XML_CHAR_ENCODING_UTF8; - ctxt->catalogs = NULL; - ctxt->nbentities = 0; -+ ctxt->sizeentities = 0; -+ ctxt->sizeentcopy = 0; - ctxt->input_id = 1; - xmlInitNodeInfoSeq(&ctxt->node_seq); - return(0); --- -1.8.1.2 - 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 deleted file mode 100644 index 61de4d624a8f..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.9.0-large-file-parse.patch +++ /dev/null @@ -1,56 +0,0 @@ -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 deleted file mode 100644 index 994363fa9def..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.9.0-nsclean.patch +++ /dev/null @@ -1,27 +0,0 @@ -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 deleted file mode 100644 index 7798a2c7b27e..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.9.0-rand_seed.patch +++ /dev/null @@ -1,31 +0,0 @@ -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 deleted file mode 100644 index 5fa2d6f0c157..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.9.0-streaming-validation.patch +++ /dev/null @@ -1,54 +0,0 @@ -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-portability.patch b/dev-libs/libxml2/files/libxml2-2.9.0-thread-portability.patch deleted file mode 100644 index a85d6129174d..000000000000 --- a/dev-libs/libxml2/files/libxml2-2.9.0-thread-portability.patch +++ /dev/null @@ -1,37 +0,0 @@ -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.8.0-r3.ebuild b/dev-libs/libxml2/libxml2-2.8.0-r3.ebuild deleted file mode 100644 index 4904067c975d..000000000000 --- a/dev-libs/libxml2/libxml2-2.8.0-r3.ebuild +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.8.0-r3.ebuild,v 1.10 2013/07/11 03:23:35 tetromino Exp $ - -EAPI="4" -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="m68k" -IUSE="debug doc 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" - -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://dev.gentoo.org/~tetromino/distfiles/${PN}/${P}-namespace-node-patches.tar.bz2" - -RDEPEND="sys-libs/zlib - icu? ( dev-libs/icu ) - lzma? ( app-arch/xz-utils ) - readline? ( sys-libs/readline )" - -DEPEND="${RDEPEND} - 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 - unpack "${P}-namespace-node-patches.tar.bz2" - cd "${S}" - - if use test; then - cp "${DISTDIR}/${XSTS_TARBALL_1}" \ - "${DISTDIR}/${XSTS_TARBALL_2}" \ - "${S}"/xstc/ \ - || die "Failed to install test tarballs" - 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.7.8-disable_static_modules.patch" - - # Prevent linking to out-of-build-tree libxml2, bug #417539 - epatch "${FILESDIR}/${PN}-2.8.0-icu-linking.patch" - - # Namespace nodes require special treatment, bug #434344 - epatch ../patch/*.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 doc; then - rm -rf "${ED}"/usr/share/gtk-doc - rm -rf "${ED}"/usr/share/doc/${PF}/html - fi - - if ! use examples; then - rm -rf "${ED}/usr/share/doc/${PF}/examples" - rm -rf "${ED}/usr/share/doc/${PF}/python/examples" - fi - - # Always remove useless .la files - find "${D}" -name '*.la' -exec rm -f {} + || die "la file removal failed" -} - -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 -} diff --git a/dev-libs/libxml2/libxml2-2.9.0-r2.ebuild b/dev-libs/libxml2/libxml2-2.9.0-r2.ebuild deleted file mode 100644 index 4ace086cc61f..000000000000 --- a/dev-libs/libxml2/libxml2-2.9.0-r2.ebuild +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright 1999-2013 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-r2.ebuild,v 1.14 2013/09/05 18:29:53 mgorny Exp $ - -EAPI="5" -PYTHON_COMPAT=( python{2_6,2_7} ) -PYTHON_REQ_USE="xml" - -inherit libtool flag-o-matic eutils python-r1 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 ~arm-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:= ) - python? ( ${PYTHON_DEPS} ) - 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*}" - -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 # if we don't eautoreconf - - 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" - - # Entity expansion DoS, bug #458430; fixed in 2.9.1 - epatch "${FILESDIR}/${PN}-2.9.0-excessive-entity-expansion.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. - epatch "${FILESDIR}/${PN}-2.9.0-manual-python.patch" - - eautoreconf -} - -src_configure() { - # filter seemingly problematic CFLAGS (#26320) - filter-flags -fprefetch-loop-arrays -funroll-loops - - # 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). - econf \ - -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) -} - -src_compile() { - default - if use python; then - python_copy_sources - python_foreach_impl libxml2_py_emake - fi -} - -src_test() { - default - use python && python_foreach_impl libxml2_py_emake test -} - -src_install() { - emake DESTDIR="${D}" \ - EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install - - # 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 - python_foreach_impl libxml2_py_emake DESTDIR="${D}" \ - docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \ - exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \ - install - python_foreach_impl python_optimize - 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 --modules -} - -pkg_postinst() { - # 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 -} - -libxml2_py_emake() { - pushd "${BUILD_DIR}/python" > /dev/null || die - emake \ - PYTHON="${PYTHON}" \ - PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \ - PYTHON_LIBS="$(python-config --ldflags)" \ - PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \ - pythondir="$(python_get_sitedir)" \ - PYTHON_VERSION=${EPYTHON/python} "$@" - popd > /dev/null -} diff --git a/dev-libs/libxml2/libxml2-2.9.1.ebuild b/dev-libs/libxml2/libxml2-2.9.1.ebuild deleted file mode 100644 index 783c11032d52..000000000000 --- a/dev-libs/libxml2/libxml2-2.9.1.ebuild +++ /dev/null @@ -1,192 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/libxml2/libxml2-2.9.1.ebuild,v 1.4 2013/09/05 18:29:53 mgorny Exp $ - -EAPI="5" -PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) -PYTHON_REQ_USE="xml" - -inherit libtool flag-o-matic eutils python-r1 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 ~arm-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:= ) - python? ( ${PYTHON_DEPS} ) - 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*}" - -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 # if we don't eautoreconf - - # Important patches from 2.9.2 - epatch "${FILESDIR}/${P}-missing-break.patch" \ - "${FILESDIR}/${P}-python-2.6.patch" \ - "${FILESDIR}/${P}-compression-detection.patch" \ - "${FILESDIR}/${P}-non-ascii-cr-lf.patch" - - # https://bugzilla.gnome.org/show_bug.cgi?id=703979 - epatch "${FILESDIR}/${PN}-2.9.1-python3.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. - epatch "${FILESDIR}/${PN}-2.9.0-manual-python.patch" - - eautoreconf -} - -src_configure() { - # filter seemingly problematic CFLAGS (#26320) - filter-flags -fprefetch-loop-arrays -funroll-loops - - # 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). - econf \ - -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) -} - -src_compile() { - default - if use python; then - python_copy_sources - python_foreach_impl libxml2_py_emake - fi -} - -src_test() { - default - use python && python_foreach_impl libxml2_py_emake test -} - -src_install() { - emake DESTDIR="${D}" \ - EXAMPLES_DIR="${EPREFIX}"/usr/share/doc/${PF}/examples install - - # 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 - python_foreach_impl libxml2_py_emake DESTDIR="${D}" \ - docsdir="${EPREFIX}"/usr/share/doc/${PF}/python \ - exampledir="${EPREFIX}"/usr/share/doc/${PF}/python/examples \ - install - python_foreach_impl python_optimize - 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 --modules -} - -pkg_postinst() { - # 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 -} - -libxml2_py_emake() { - pushd "${BUILD_DIR}/python" > /dev/null || die - emake \ - PYTHON="${PYTHON}" \ - PYTHON_INCLUDES="${EPREFIX}/usr/include/${EPYTHON}" \ - PYTHON_LIBS="$(python-config --ldflags)" \ - PYTHON_SITE_PACKAGES="$(python_get_sitedir)" \ - pythondir="$(python_get_sitedir)" "$@" - popd > /dev/null -} |