diff options
author | Tiziano Müller <dev-zero@gentoo.org> | 2012-05-24 19:37:01 +0000 |
---|---|---|
committer | Tiziano Müller <dev-zero@gentoo.org> | 2012-05-24 19:37:01 +0000 |
commit | fa61f222e7ccdb3d98b6eefdce8064be9d160fb1 (patch) | |
tree | b162ecabe3671da6af9a827a6b7a64b6150afd86 | |
parent | Whitespace to shutup repoman. (diff) | |
download | historical-fa61f222e7ccdb3d98b6eefdce8064be9d160fb1.tar.gz historical-fa61f222e7ccdb3d98b6eefdce8064be9d160fb1.tar.bz2 historical-fa61f222e7ccdb3d98b6eefdce8064be9d160fb1.zip |
Dropped old unused versions and it's patches (fixes bug #248966).
Package-Manager: portage-2.1.10.56/cvs/Linux x86_64
-rw-r--r-- | dev-libs/xerces-c/ChangeLog | 9 | ||||
-rw-r--r-- | dev-libs/xerces-c/Manifest | 21 | ||||
-rw-r--r-- | dev-libs/xerces-c/files/3.0.1-disable-thread-tests.patch | 47 | ||||
-rw-r--r-- | dev-libs/xerces-c/files/xerces-c-3.0.1-CVE-2009-2625.patch | 649 | ||||
-rw-r--r-- | dev-libs/xerces-c/files/xerces-c-3.0.1-libicu.patch | 29 | ||||
-rw-r--r-- | dev-libs/xerces-c/xerces-c-3.0.0-r1.ebuild | 90 | ||||
-rw-r--r-- | dev-libs/xerces-c/xerces-c-3.0.0.ebuild | 94 | ||||
-rw-r--r-- | dev-libs/xerces-c/xerces-c-3.0.1-r1.ebuild | 98 | ||||
-rw-r--r-- | dev-libs/xerces-c/xerces-c-3.0.1.ebuild | 87 |
9 files changed, 19 insertions, 1105 deletions
diff --git a/dev-libs/xerces-c/ChangeLog b/dev-libs/xerces-c/ChangeLog index aacfc0db827a..76135426b2aa 100644 --- a/dev-libs/xerces-c/ChangeLog +++ b/dev-libs/xerces-c/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-libs/xerces-c # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/xerces-c/ChangeLog,v 1.98 2012/05/23 12:58:08 ranger Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-libs/xerces-c/ChangeLog,v 1.99 2012/05/24 19:37:01 dev-zero Exp $ + + 24 May 2012; Tiziano Müller <dev-zero@gentoo.org> + -files/3.0.1-disable-thread-tests.patch, -xerces-c-3.0.0.ebuild, + -xerces-c-3.0.0-r1.ebuild, -xerces-c-3.0.1.ebuild, -xerces-c-3.0.1-r1.ebuild, + -files/xerces-c-3.0.1-CVE-2009-2625.patch, + -files/xerces-c-3.0.1-libicu.patch: + Dropped old unused versions and it's patches (fixes bug #248966). 23 May 2012; Brent Baude <ranger@gentoo.org> xerces-c-3.1.1-r1.ebuild: Marking xerces-c-3.1.1-r1 ppc64 for bug 409545 diff --git a/dev-libs/xerces-c/Manifest b/dev-libs/xerces-c/Manifest index c6ee2952f402..eec60307a6e8 100644 --- a/dev-libs/xerces-c/Manifest +++ b/dev-libs/xerces-c/Manifest @@ -1,18 +1,19 @@ -AUX 3.0.1-disable-thread-tests.patch 2170 RMD160 fc80748bb3f931ae5e414dcbe6ce14e25bb67697 SHA1 7bd0b6e0774e1d5db8402709711dc1902076976b SHA256 6ef9a714420f64b2b7674623d435377608092f9d2b5da149f3c89514ecd5009e +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX 3.1.1-disable-thread-tests.patch 3401 RMD160 4665d4f9c24a6d53fef11944b29a3177b76dd7b6 SHA1 0d6be8eb9684c28e18f0e477b8cb9fd41ac87c56 SHA256 28a795b83a156934197518730281c75aa3308e4f08fb91127cd8451312f754f7 AUX 50xerces-c 43 RMD160 b69c19f1ee7be74447f08ad633c0dd4bc0ce4954 SHA1 bf05f4e5123f663c885da586f8f45fbaa97bdb73 SHA256 0961dfe5add9ef7159e58569e3512ebf7fdba18dd7c14a0b3b7d898458b408e9 -AUX xerces-c-3.0.1-CVE-2009-2625.patch 26741 RMD160 926f7b57cf5976696b98835cc48a6a4f42209b2b SHA1 8227519677d0bd58094e0c7645f46b635e931caa SHA256 da95a0890c307ca3998c60dd65db675522570c460d010c8962996193b444f87a -AUX xerces-c-3.0.1-libicu.patch 1384 RMD160 8d0281cf5514649c34810a3abd5008e4c81c0d13 SHA1 0dbdee819475510eb1271902a3b952f04d37a106 SHA256 7260ac41e43ab775406a6637d2b91d2f15737fa8232e5872ee800d0d25793d4f -DIST xerces-c-3.0.0.tar.gz 4605395 RMD160 92353ec5ec90f292dfc92bf9a9232ddb70977c70 SHA1 3119b26dc749354d645c6f5bae29e1940372a6dc SHA256 ae2ff10d4bb12b120568d781f03056d7b4d1e2742858d3b7bb535a4a791f92a1 -DIST xerces-c-3.0.1.tar.gz 4605970 RMD160 51fb09688a950e728757a555f9fca1cf98b8404a SHA1 71e4efee5397dd45d6bafad34bf3bc766bc2a085 SHA256 f7d28e0859ef7697a4ec19328ff5105ddd78ae3069d6a014d64efb298f996640 DIST xerces-c-3.1.0.tar.gz 4979277 RMD160 8e2a07a83fa1f9f10cbf7e68f3d63cc1ffb6854d SHA1 15e45ae354980d6aa58e8c14eb6bc9fd84e51929 SHA256 e04572727f6669474d315b61d805d8f38941f4a7b63560d43d2f5ca61596a5ad DIST xerces-c-3.1.1.tar.gz 5051308 RMD160 bbb7ceac470db901d77926cdf21a254df0d8d1db SHA1 177ec838c5119df57ec77eddec9a29f7e754c8b2 SHA256 a42785f71e0b91d5fd273831c87410ce60a73ccfdd207de1b805d26d44968736 -EBUILD xerces-c-3.0.0-r1.ebuild 2368 RMD160 833bc04b122e8653c06924752cf66576cba1d598 SHA1 6c56885d2db92222865c7d5e47b31ed11c6dc172 SHA256 15268ec558c9e9b0bbf34af7633bdd7b45db7328b5c994cabcb174c8b2abde7a -EBUILD xerces-c-3.0.0.ebuild 2467 RMD160 4e9d9a7cdbbd794c2c72b516d1c6d7a93ede497c SHA1 543c1d76da1fe86b5723722aaaf208810342dd4e SHA256 f8056de840c1ef8cc63deffa2bf8a183e0ec36ddc15090c5a9d4b023d855e7ba -EBUILD xerces-c-3.0.1-r1.ebuild 2609 RMD160 62ccda32c7198f2805d2b0a9bb948402bd82096a SHA1 22a63bc314ae02b4be549fe6044940c291ea1d75 SHA256 6ac6dfbb893b69a7419d4761f3efd89b5d5524e6fd04924de348e19fd14a4bba -EBUILD xerces-c-3.0.1.ebuild 2282 RMD160 bf4b92fd1bd6f3f7dafd1f1529539b9e231d4e93 SHA1 ed1c47fa20e1edc0690470e4bf4a888056c3ad41 SHA256 49ee5a37bf7c653a9c29ff01c81887f650b6e349237f86020f8a21728985fd0b EBUILD xerces-c-3.1.0.ebuild 2587 RMD160 fdc0954b0d9c675c96d4d429f23f281927b05010 SHA1 64a2e000566604063fc2f1fdda14df360cd31011 SHA256 1c0b878e9a6d675eb7ed7b0b8af7fca5772590bfc0a383f612eb81b39c8ec27f EBUILD xerces-c-3.1.1-r1.ebuild 2592 RMD160 1e5387f9a2c28b447deb69ed73d7d2c4199c3d2e SHA1 cf046f78212906e574e11ffb5023f5191dcba22a SHA256 dbc13750962d0a45ff3e34a3b6611fa3818f8e29b581358ee5e50d1735be3553 EBUILD xerces-c-3.1.1.ebuild 2666 RMD160 cc680d72b3991147a084170e52368187a4be54c6 SHA1 47ef2c44e89e91c0689ae2790afbff94bf08ffb9 SHA256 5b286151841563d2e1cbfb3ad4f3284886d23e7551b0cc73e772c4e3c59b1799 -MISC ChangeLog 15707 RMD160 c3cf2bb9229cdd4da46341f30237ee18a2830bb4 SHA1 f45b0a2c49dd0d18c8fcd19965c0250c0f3d76d6 SHA256 d9e79c32e5edc1c683895c31d00301efb05eb9608e3f30f90dfdc475e654d94c +MISC ChangeLog 16061 RMD160 ac5ad0679dc33215e785b3e32b323095165495d9 SHA1 e83dab989dbfb84ac4dfd4041cac7d825c3a4c15 SHA256 3482952512a322e30cf377837339e553eaccae721781461e5bc8814d0b4d0c0d MISC metadata.xml 883 RMD160 a34f9e7e9e29e711518eeda9b4d50f47a49e0739 SHA1 4570e3a640c7ad50c5d70af9f3a0602e4c31b8ad SHA256 5e1828cf6120621a00a9a251ea1156f0379568ca5d129c3793638cc024c7823e +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iEYEARECAAYFAk++jeMACgkQGwVqY66cHjC5sgCfSkMPwna9f3FwEqY7eoceY7oK +kjgAmgOfxly21NkV0iJMyrCvZiTKG5mF +=nWAb +-----END PGP SIGNATURE----- diff --git a/dev-libs/xerces-c/files/3.0.1-disable-thread-tests.patch b/dev-libs/xerces-c/files/3.0.1-disable-thread-tests.patch deleted file mode 100644 index 68144cc10694..000000000000 --- a/dev-libs/xerces-c/files/3.0.1-disable-thread-tests.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -ru origscripts/sanityTest_ExpectedResult.log scripts/sanityTest_ExpectedResult.log ---- origscripts/sanityTest_ExpectedResult.log 2008-09-17 05:06:33.000000000 +0200 -+++ scripts/sanityTest_ExpectedResult.log 2010-01-18 19:45:39.000000000 +0100 -@@ -1146,42 +1146,7 @@ - 1Test Run Successfully - 2Test Run Successfully - 3Test Run Successfully --No input XML file specified on command line. --usage: ThreadTest [-v] [-threads nnn] [-time nnn] [-quiet] [-verbose] xmlfile... -- -v=xxx Validation scheme [always | never | auto]. Default is AUTO. -- -n Enable namespace processing. Defaults to off. -- -s Enable schema processing. Defaults to off. -- -f Enable full schema constraint checking. Defaults to off. -- -parser=xxx Parser Type [dom | sax | sax2]. Default is SAX (SAX1). -- -p Enable namespace prefixes. Defaults to off. -- (Only used with -parser=sax2, ignored otherwise.) -- -quiet Suppress periodic status display. -- -verbose Display extra messages. -- -reuse Retain and reuse parser. Default creates new for each parse. -- -threads nnn Number of threads. Default is 2. -- -time nnn Total time to run, in seconds. Default is forever. -- -parses nnn Run for nnn parses instead of time. Default is to use time -- -dump Dump DOM tree on error. -- -mem Read files into memory once only, and parse them from there. -- -gc Enable grammar caching (i.e. grammar cached and used in subsequent parses). Defaults to off. -- -init Perform an initial parse of the file(s) before starting up the individual threads. -- --1Test Run Successfully --2Test Run Successfully --3Test Run Successfully --4Test Run Successfully --5Test Run Successfully --6Test Run Successfully --7Test Run Successfully --8Test Run Successfully --9Test Run Successfully --10Test Run Successfully --11Test Run Successfully --12Test Run Successfully --13Test Run Successfully --14Test Run Successfully --15Test Run Successfully -- -+123456789101112131415 - Usage: - MemHandlerTest [options] <XML file | List file> - diff --git a/dev-libs/xerces-c/files/xerces-c-3.0.1-CVE-2009-2625.patch b/dev-libs/xerces-c/files/xerces-c-3.0.1-CVE-2009-2625.patch deleted file mode 100644 index d3ab8ed32722..000000000000 --- a/dev-libs/xerces-c/files/xerces-c-3.0.1-CVE-2009-2625.patch +++ /dev/null @@ -1,649 +0,0 @@ ---- xerces/c/trunk/src/xercesc/validators/DTD/DTDScanner.cpp 2009/06/03 17:26:39 781487 -+++ xerces/c/trunk/src/xercesc/validators/DTD/DTDScanner.cpp 2009/06/03 17:27:07 781488 -@@ -27,7 +27,9 @@ - #include <xercesc/util/FlagJanitor.hpp> - #include <xercesc/util/Janitor.hpp> - #include <xercesc/util/XMLUniDefs.hpp> -+#include <xercesc/util/ValueStackOf.hpp> - #include <xercesc/util/UnexpectedEOFException.hpp> -+#include <xercesc/util/OutOfMemoryException.hpp> - #include <xercesc/sax/InputSource.hpp> - #include <xercesc/framework/XMLDocumentHandler.hpp> - #include <xercesc/framework/XMLEntityHandler.hpp> -@@ -39,7 +41,6 @@ - #include <xercesc/validators/DTD/DTDEntityDecl.hpp> - #include <xercesc/validators/DTD/DocTypeHandler.hpp> - #include <xercesc/validators/DTD/DTDScanner.hpp> --#include <xercesc/util/OutOfMemoryException.hpp> - - XERCES_CPP_NAMESPACE_BEGIN - -@@ -1041,338 +1042,354 @@ - // Check for a PE ref here, but don't require spaces - checkForPERef(false, true); - -- // We have to check entity nesting here -- XMLSize_t curReader; -- -+ ValueStackOf<XMLSize_t>* arrNestedDecl=NULL; - // - // We know that the caller just saw an opening parenthesis, so we need -- // to parse until we hit the end of it, recursing for other nested -- // parentheses we see. -+ // to parse until we hit the end of it; if we find several parenthesis, -+ // store them in an array to be processed later. - // - // We have to check for one up front, since it could be something like - // (((a)*)) etc... - // - ContentSpecNode* curNode = 0; -- if (fReaderMgr->skippedChar(chOpenParen)) -+ while(fReaderMgr->skippedChar(chOpenParen)) - { -- curReader = fReaderMgr->getCurrentReaderNum(); -+ // to check entity nesting -+ const XMLSize_t curReader = fReaderMgr->getCurrentReaderNum(); -+ if(arrNestedDecl==NULL) -+ arrNestedDecl=new (fMemoryManager) ValueStackOf<XMLSize_t>(5, fMemoryManager); -+ arrNestedDecl->push(curReader); - -- // Lets call ourself and get back the resulting node -- curNode = scanChildren(elemDecl, bufToUse); -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); -+ } - -- // If that failed, no need to go further, return failure -- if (!curNode) -- return 0; -+ // We must find a leaf node here, either standalone or nested in the parenthesis -+ if (!fReaderMgr->getName(bufToUse)) -+ { -+ fScanner->emitError(XMLErrs::ExpectedElementName); -+ return 0; -+ } - -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ // -+ // Create a leaf node for it. If we can find the element id for -+ // this element, then use it. Else, we have to fault in an element -+ // decl, marked as created because of being in a content model. -+ // -+ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -+ if (!decl) -+ { -+ decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ ( -+ bufToUse.getRawBuffer() -+ , fEmptyNamespaceId -+ , DTDElementDecl::Any -+ , fGrammarPoolMemoryManager -+ ); -+ decl->setCreateReason(XMLElementDecl::InContentModel); -+ decl->setExternalElemDeclaration(isReadingExternalEntity()); -+ fDTDGrammar->putElemDecl(decl); - } -- else -+ curNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ decl->getElementName() -+ , fGrammarPoolMemoryManager -+ ); -+ -+ // Check for a PE ref here, but don't require spaces -+ const bool gotSpaces = checkForPERef(false, true); -+ -+ // Check for a repetition character after the leaf -+ XMLCh repCh = fReaderMgr->peekNextChar(); -+ ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); -+ if (tmpNode != curNode) - { -- // Not a nested paren, so it must be a leaf node -- if (!fReaderMgr->getName(bufToUse)) -+ if (gotSpaces) - { -- fScanner->emitError(XMLErrs::ExpectedElementName); -- return 0; -+ if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) -+ { -+ delete tmpNode; -+ } -+ fScanner->emitError(XMLErrs::UnexpectedWhitespace); - } -+ fReaderMgr->getNextChar(); -+ curNode = tmpNode; -+ } -+ -+ while(arrNestedDecl==NULL || !arrNestedDecl->empty()) -+ { -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); - - // -- // Create a leaf node for it. If we can find the element id for -- // this element, then use it. Else, we have to fault in an element -- // decl, marked as created because of being in a content model. -+ // Ok, the next character tells us what kind of content this particular -+ // model this particular parentesized section is. Its either a choice if -+ // we see ',', a sequence if we see '|', or a single leaf node if we see -+ // a closing paren. -+ // -+ const XMLCh opCh = fReaderMgr->peekNextChar(); -+ -+ if ((opCh != chComma) -+ && (opCh != chPipe) -+ && (opCh != chCloseParen)) -+ { -+ // Not a legal char, so delete our node and return failure -+ delete curNode; -+ fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); -+ return 0; -+ } -+ - // -- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -- if (!decl) -+ // Create the head node of the correct type. We need this to remember -+ // the top of the local tree. If it was a single subexpr, then just -+ // set the head node to the current node. For the others, we'll build -+ // the tree off the second child as we move across. -+ // -+ ContentSpecNode* headNode = 0; -+ ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; -+ if (opCh == chComma) - { -- decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ curType = ContentSpecNode::Sequence; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode - ( -- bufToUse.getRawBuffer() -- , fEmptyNamespaceId -- , DTDElementDecl::Any -+ curType -+ , curNode -+ , 0 -+ , true -+ , true - , fGrammarPoolMemoryManager - ); -- decl->setCreateReason(XMLElementDecl::InContentModel); -- decl->setExternalElemDeclaration(isReadingExternalEntity()); -- fDTDGrammar->putElemDecl(decl); -+ curNode = headNode; - } -- curNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- decl->getElementName() -- , fGrammarPoolMemoryManager -- ); -- -- // Check for a PE ref here, but don't require spaces -- const bool gotSpaces = checkForPERef(false, true); -- -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpNode = makeRepNode(repCh, curNode, fGrammarPoolMemoryManager); -- if (tmpNode != curNode) -+ else if (opCh == chPipe) - { -- if (gotSpaces) -- { -- if (fScanner->emitErrorWillThrowException(XMLErrs::UnexpectedWhitespace)) -- { -- delete tmpNode; -- } -- fScanner->emitError(XMLErrs::UnexpectedWhitespace); -- } -+ curType = ContentSpecNode::Choice; -+ headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , curNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode = headNode; -+ } -+ else -+ { -+ headNode = curNode; - fReaderMgr->getNextChar(); -- curNode = tmpNode; - } -- } - -- // Check for a PE ref here, but don't require spaces -- checkForPERef(false, true); -- -- // -- // Ok, the next character tells us what kind of content this particular -- // model this particular parentesized section is. Its either a choice if -- // we see ',', a sequence if we see '|', or a single leaf node if we see -- // a closing paren. -- // -- const XMLCh opCh = fReaderMgr->peekNextChar(); -- -- if ((opCh != chComma) -- && (opCh != chPipe) -- && (opCh != chCloseParen)) -- { -- // Not a legal char, so delete our node and return failure -- delete curNode; -- fScanner->emitError(XMLErrs::ExpectedSeqChoiceLeaf); -- return 0; -- } -- -- // -- // Create the head node of the correct type. We need this to remember -- // the top of the local tree. If it was a single subexpr, then just -- // set the head node to the current node. For the others, we'll build -- // the tree off the second child as we move across. -- // -- ContentSpecNode* headNode = 0; -- ContentSpecNode::NodeTypes curType = ContentSpecNode::UnknownType; -- if (opCh == chComma) -- { -- curType = ContentSpecNode::Sequence; -- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , curNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode = headNode; -- } -- else if (opCh == chPipe) -- { -- curType = ContentSpecNode::Choice; -- headNode = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , curNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode = headNode; -- } -- else -- { -- headNode = curNode; -- fReaderMgr->getNextChar(); -- } -- -- // -- // If it was a sequence or choice, we just loop until we get to the -- // end of our section, adding each new leaf or sub expression to the -- // right child of the current node, and making that new node the current -- // node. -- // -- if ((opCh == chComma) || (opCh == chPipe)) -- { -- ContentSpecNode* lastNode = 0; -- while (true) -+ // -+ // If it was a sequence or choice, we just loop until we get to the -+ // end of our section, adding each new leaf or sub expression to the -+ // right child of the current node, and making that new node the current -+ // node. -+ // -+ if ((opCh == chComma) || (opCh == chPipe)) - { -- // -- // The next thing must either be another | or , character followed -- // by another leaf or subexpression, or a closing parenthesis, or a -- // PE ref. -- // -- if (fReaderMgr->lookingAtChar(chPercent)) -- { -- checkForPERef(false, true); -- } -- else if (fReaderMgr->skippedSpace()) -- { -- // Just skip whitespace -- fReaderMgr->skipPastSpaces(); -- } -- else if (fReaderMgr->skippedChar(chCloseParen)) -+ ContentSpecNode* lastNode = 0; -+ while (true) - { - // -- // We've hit the end of this section, so break out. But, we -- // need to see if we left a partial sequence of choice node -- // without a second node. If so, we have to undo that and -- // put its left child into the right node of the previous -- // node. -+ // The next thing must either be another | or , character followed -+ // by another leaf or subexpression, or a closing parenthesis, or a -+ // PE ref. - // -- if ((curNode->getType() == ContentSpecNode::Choice) -- || (curNode->getType() == ContentSpecNode::Sequence)) -+ if (fReaderMgr->lookingAtChar(chPercent)) - { -- if (!curNode->getSecond()) -+ checkForPERef(false, true); -+ } -+ else if (fReaderMgr->skippedSpace()) -+ { -+ // Just skip whitespace -+ fReaderMgr->skipPastSpaces(); -+ } -+ else if (fReaderMgr->skippedChar(chCloseParen)) -+ { -+ // -+ // We've hit the end of this section, so break out. But, we -+ // need to see if we left a partial sequence of choice node -+ // without a second node. If so, we have to undo that and -+ // put its left child into the right node of the previous -+ // node. -+ // -+ if ((curNode->getType() == ContentSpecNode::Choice) -+ || (curNode->getType() == ContentSpecNode::Sequence)) - { -- ContentSpecNode* saveFirst = curNode->orphanFirst(); -- lastNode->setSecond(saveFirst); -- curNode = lastNode; -+ if (!curNode->getSecond()) -+ { -+ ContentSpecNode* saveFirst = curNode->orphanFirst(); -+ lastNode->setSecond(saveFirst); -+ curNode = lastNode; -+ } - } -+ break; - } -- break; -- } -- else if (fReaderMgr->skippedChar(opCh)) -- { -- // Check for a PE ref here, but don't require spaces -- checkForPERef(false, true); -- -- if (fReaderMgr->skippedChar(chOpenParen)) -+ else if (fReaderMgr->skippedChar(opCh)) - { -- curReader = fReaderMgr->getCurrentReaderNum(); -+ // Check for a PE ref here, but don't require spaces -+ checkForPERef(false, true); - -- // Recurse to handle this new guy -- ContentSpecNode* subNode; -- try { -- subNode = scanChildren(elemDecl, bufToUse); -- } -- catch (const XMLErrs::Codes) -+ if (fReaderMgr->skippedChar(chOpenParen)) - { -- delete headNode; -- throw; -- } -+ const XMLSize_t curReader = fReaderMgr->getCurrentReaderNum(); - -- // If it failed, we are done, clean up here and return failure -- if (!subNode) -- { -- delete headNode; -- return 0; -+ // Recurse to handle this new guy -+ ContentSpecNode* subNode; -+ try { -+ subNode = scanChildren(elemDecl, bufToUse); -+ } -+ catch (const XMLErrs::Codes) -+ { -+ delete headNode; -+ throw; -+ } -+ -+ // If it failed, we are done, clean up here and return failure -+ if (!subNode) -+ { -+ delete headNode; -+ return 0; -+ } -+ -+ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -+ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ -+ // Else patch it in and make it the new current -+ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , subNode -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode->setSecond(newCur); -+ lastNode = curNode; -+ curNode = newCur; - } -+ else -+ { -+ // -+ // Got to be a leaf node, so get a name. If we cannot get -+ // one, then clean up and get outa here. -+ // -+ if (!fReaderMgr->getName(bufToUse)) -+ { -+ delete headNode; -+ fScanner->emitError(XMLErrs::ExpectedElementName); -+ return 0; -+ } -+ -+ // -+ // Create a leaf node for it. If we can find the element -+ // id for this element, then use it. Else, we have to -+ // fault in an element decl, marked as created because -+ // of being in a content model. -+ // -+ XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -+ if (!decl) -+ { -+ decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ ( -+ bufToUse.getRawBuffer() -+ , fEmptyNamespaceId -+ , DTDElementDecl::Any -+ , fGrammarPoolMemoryManager -+ ); -+ decl->setCreateReason(XMLElementDecl::InContentModel); -+ decl->setExternalElemDeclaration(isReadingExternalEntity()); -+ fDTDGrammar->putElemDecl(decl); -+ } - -- if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -- fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ decl->getElementName() -+ , fGrammarPoolMemoryManager -+ ); - -- // Else patch it in and make it the new current -- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , subNode -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode->setSecond(newCur); -- lastNode = curNode; -- curNode = newCur; -+ // Check for a repetition character after the leaf -+ const XMLCh repCh = fReaderMgr->peekNextChar(); -+ ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); -+ if (tmpLeaf != tmpLeaf2) -+ fReaderMgr->getNextChar(); -+ -+ // -+ // Create a new sequence or choice node, with the leaf -+ // (or rep surrounding it) we just got as its first node. -+ // Make the new node the second node of the current node, -+ // and then make it the current node. -+ // -+ ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -+ ( -+ curType -+ , tmpLeaf2 -+ , 0 -+ , true -+ , true -+ , fGrammarPoolMemoryManager -+ ); -+ curNode->setSecond(newCur); -+ lastNode = curNode; -+ curNode = newCur; -+ } - } - else - { -- // -- // Got to be a leaf node, so get a name. If we cannot get -- // one, then clean up and get outa here. -- // -- if (!fReaderMgr->getName(bufToUse)) -+ // Cannot be valid -+ delete headNode; // emitError may do a throw so need to clean-up first -+ if (opCh == chComma) - { -- delete headNode; -- fScanner->emitError(XMLErrs::ExpectedElementName); -- return 0; -+ fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); - } -- -- // -- // Create a leaf node for it. If we can find the element -- // id for this element, then use it. Else, we have to -- // fault in an element decl, marked as created because -- // of being in a content model. -- // -- XMLElementDecl* decl = fDTDGrammar->getElemDecl(fEmptyNamespaceId, 0, bufToUse.getRawBuffer(), Grammar::TOP_LEVEL_SCOPE); -- if (!decl) -+ else - { -- decl = new (fGrammarPoolMemoryManager) DTDElementDecl -+ fScanner->emitError - ( -- bufToUse.getRawBuffer() -- , fEmptyNamespaceId -- , DTDElementDecl::Any -- , fGrammarPoolMemoryManager -+ XMLErrs::ExpectedSeqOrCloseParen -+ , elemDecl.getFullName() - ); -- decl->setCreateReason(XMLElementDecl::InContentModel); -- decl->setExternalElemDeclaration(isReadingExternalEntity()); -- fDTDGrammar->putElemDecl(decl); -- } -+ } -+ return 0; -+ } -+ } -+ } - -- ContentSpecNode* tmpLeaf = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- decl->getElementName() -- , fGrammarPoolMemoryManager -- ); -+ // -+ // We saw the terminating parenthesis so lets check for any repetition -+ // character, and create a node for that, making the head node the child -+ // of it. -+ // -+ const XMLCh repCh = fReaderMgr->peekNextChar(); -+ curNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); -+ if (curNode != headNode) -+ fReaderMgr->getNextChar(); - -- // Check for a repetition character after the leaf -- const XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* tmpLeaf2 = makeRepNode(repCh, tmpLeaf, fGrammarPoolMemoryManager); -- if (tmpLeaf != tmpLeaf2) -- fReaderMgr->getNextChar(); -+ // prepare for recursion -+ if(arrNestedDecl==NULL) -+ break; -+ else -+ { -+ // If that failed, no need to go further, return failure -+ if (!curNode) -+ return 0; - -- // -- // Create a new sequence or choice node, with the leaf -- // (or rep surrounding it) we just got as its first node. -- // Make the new node the second node of the current node, -- // and then make it the current node. -- // -- ContentSpecNode* newCur = new (fGrammarPoolMemoryManager) ContentSpecNode -- ( -- curType -- , tmpLeaf2 -- , 0 -- , true -- , true -- , fGrammarPoolMemoryManager -- ); -- curNode->setSecond(newCur); -- lastNode = curNode; -- curNode = newCur; -- } -- } -- else -+ const XMLSize_t curReader = arrNestedDecl->pop(); -+ if (curReader != fReaderMgr->getCurrentReaderNum() && fScanner->getValidationScheme() == XMLScanner::Val_Always) -+ fScanner->getValidator()->emitError(XMLValid::PartialMarkupInPE); -+ -+ if(arrNestedDecl->empty()) - { -- // Cannot be valid -- delete headNode; // emitError may do a throw so need to clean-up first -- if (opCh == chComma) -- { -- fScanner->emitError(XMLErrs::ExpectedChoiceOrCloseParen); -- } -- else -- { -- fScanner->emitError -- ( -- XMLErrs::ExpectedSeqOrCloseParen -- , elemDecl.getFullName() -- ); -- } -- return 0; -+ delete arrNestedDecl; -+ arrNestedDecl=NULL; - } - } - } - -- // -- // We saw the terminating parenthesis so lets check for any repetition -- // character, and create a node for that, making the head node the child -- // of it. -- // -- XMLCh repCh = fReaderMgr->peekNextChar(); -- ContentSpecNode* retNode = makeRepNode(repCh, headNode, fGrammarPoolMemoryManager); -- if (retNode != headNode) -- fReaderMgr->getNextChar(); -- -- return retNode; -+ return curNode; - } - - diff --git a/dev-libs/xerces-c/files/xerces-c-3.0.1-libicu.patch b/dev-libs/xerces-c/files/xerces-c-3.0.1-libicu.patch deleted file mode 100644 index 263c5f8f12e3..000000000000 --- a/dev-libs/xerces-c/files/xerces-c-3.0.1-libicu.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- src/xercesc/util/MsgLoaders/ICU/resources/Makefile.in.orig 2009-09-01 20:29:37.000000000 +0200 -+++ src/xercesc/util/MsgLoaders/ICU/resources/Makefile.in 2009-09-01 20:30:21.000000000 +0200 -@@ -50,8 +50,8 @@ PKGDATA=$(ICU_PREFIX)/bin/pkgdata - - # Add -v if you want to see more verbose output. - # --PKGDATAOPTS=-d . -M '"CC=$(CC)" "CXX=$(CXX)" "AR=$(AR)" "RANLIB=$(RANLIB)" \ --"CPPFLAGS=$(CPPFLAGS)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "LDFLAGS=$(LDFLAGS)"' -+PKGDATAOPTSSHARED=-d . -r 3.0.1 -+PKGDATAOPTSSTATIC=-d . - - # Resource shortname - PKGNAME=xercesc_messages_$(INTERFACE_VER_U) -@@ -78,13 +78,13 @@ all: xercesc_messages.lo - xercesc_messages.lo: $(RESFILES) - ifeq ($(BUILD_SHARED),yes) - @rm -f $(PKGNAME)_dat.o root_res.o -- $(PKGDATA) --name $(PKGNAME) --mode dll $(PKGDATAOPTS) $(RESLIST) -+ $(PKGDATA) --name $(PKGNAME) --mode dll $(PKGDATAOPTSSHARED) $(RESLIST) - mv $(PKGNAME)_dat.o $(PKGNAME)_dat-pic.o - @if test -f root_res.o; then mv root_res.o root_res-pic.o; fi - endif - ifeq ($(BUILD_STATIC),yes) - @rm -f $(PKGNAME)_dat.o $(PKGNAME)_dat.ao root_res.o root_res.ao -- $(PKGDATA) --name $(PKGNAME) --mode static $(PKGDATAOPTS) $(RESLIST) -+ $(PKGDATA) --name $(PKGNAME) --mode static $(PKGDATAOPTSSTATIC) $(RESLIST) - @if test -f $(PKGNAME)_dat.ao; then mv $(PKGNAME)_dat.ao $(PKGNAME)_dat.o; fi - @if test -f root_res.ao; then mv root_res.ao root_res.o; fi - endif diff --git a/dev-libs/xerces-c/xerces-c-3.0.0-r1.ebuild b/dev-libs/xerces-c/xerces-c-3.0.0-r1.ebuild deleted file mode 100644 index 74695aff15ab..000000000000 --- a/dev-libs/xerces-c/xerces-c-3.0.0-r1.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/xerces-c/xerces-c-3.0.0-r1.ebuild,v 1.9 2008/12/14 12:43:46 maekke Exp $ - -inherit eutils - -DESCRIPTION="A validating XML parser written in a portable subset of C++." -HOMEPAGE="http://xerces.apache.org/xerces-c/" -SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="alpha amd64 ~hppa ppc ppc64 sparc x86 ~x86-fbsd" -IUSE="curl debug doc iconv icu libwww threads elibc_Darwin elibc_FreeBSD" - -RDEPEND="icu? ( dev-libs/icu ) - curl? ( net-misc/curl ) - libwww? ( net-libs/libwww ) - virtual/libiconv" -DEPEND="${RDEPEND} - doc? ( app-doc/doxygen )" - -pkg_setup() { - export ICUROOT="/usr" - - if use iconv && use icu ; then - ewarn "This package can use iconv or icu for loading messages" - ewarn "and transcoding, but not both. ICU will precede." - fi -} - -src_unpack() { - unpack ${A} - cd "${S}" - - sed -i \ - -e 's|$(prefix)/msg|$(DESTDIR)/$(prefix)/share/xerces-c/msg|' \ - src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in || die "sed failed" -} - -src_compile() { - local mloader="inmemory" - use iconv && mloader="iconv" - use icu && mloader="icu" - - local transcoder="gnuiconv" - use elibc_FreeBSD && transcoder="iconv" - use elibc_Darwin && transcoder="macosunicodeconverter" - use icu && transcoder="icu" - - # 'cfurl' is only available on OSX and 'socket' isn't supposed to work. - # But the docs aren't clear about it, so we would need some testing... - local netaccessor="socket" - use elibc_Darwin && netaccessor="cfurl" - use libwww && netaccessor="libwww" - use curl && netaccessor="curl" - - econf \ - $(use_enable debug) \ - $(use_enable threads) \ - --enable-msgloader-${mloader} \ - --enable-netaccessor-${netaccessor} \ - --enable-transcoder-${transcoder} \ - || die "econf failed" - - emake || die "emake failed" - - if use doc ; then - cd "${S}/doc" - doxygen || die "making docs failed" - fi -} - -src_install () { - emake DESTDIR="${D}" install || die "emake failed" - - cd "${S}" - doenvd "${FILESDIR}/50xerces-c" - - if use doc; then - insinto /usr/share/doc/${PF} - rm -rf samples/config* samples/Makefile* samples/runConfigure \ - samples/install-sh samples/*/Makefile* samples/.libs - rm samples/* - doins -r samples - dohtml -r doc/html/* - fi - - dodoc CREDITS KEYS NOTICE README version.incl -} diff --git a/dev-libs/xerces-c/xerces-c-3.0.0.ebuild b/dev-libs/xerces-c/xerces-c-3.0.0.ebuild deleted file mode 100644 index a752517852df..000000000000 --- a/dev-libs/xerces-c/xerces-c-3.0.0.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/xerces-c/xerces-c-3.0.0.ebuild,v 1.3 2008/10/18 09:30:53 griffon26 Exp $ - -EAPI="2" - -inherit eutils - -DESCRIPTION="A validating XML parser written in a portable subset of C++." -HOMEPAGE="http://xerces.apache.org/xerces-c/" -SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" -IUSE="curl debug doc iconv icu libwww +threads elibc_Darwin elibc_FreeBSD" - -RDEPEND="icu? ( dev-libs/icu ) - curl? ( net-misc/curl ) - libwww? ( net-libs/libwww ) - virtual/libiconv" -DEPEND="${RDEPEND} - doc? ( app-doc/doxygen )" - -S=${WORKDIR}/${P} - -pkg_setup() { - export ICUROOT="/usr" - - if use iconv && use icu ; then - ewarn "This package can use iconv or icu for loading messages" - ewarn "and transcoding, but not both. ICU will precede." - fi -} - -src_prepare() { - # disable building broken samples - sed -i \ - -e 's|src tests samples|src tests|' \ - Makefile.in || die "sed failed" - - sed -i \ - -e 's|$(prefix)/msg|$(DESTDIR)/$(prefix)/share/xerces-c/msg|' \ - src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in || die "sed failed" -} - -src_compile() { - local mloader="inmemory" - use iconv && mloader="iconv" - use icu && mloader="icu" - - local transcoder="gnuiconv" - use elibc_FreeBSD && transcoder="iconv" - use elibc_Darwin && transcoder="macosunicodeconverter" - use icu && transcoder="icu" - - # 'cfurl' is only available on OSX and 'socket' isn't supposed to work. - # But the docs aren't clear about it, so we would need some testing... - local netaccessor="socket" - use elibc_Darwin && netaccessor="cfurl" - use libwww && netaccessor="libwww" - use curl && netaccessor="curl" - - econf \ - $(use_enable debug) \ - $(use_enable threads) \ - --enable-msgloader-${mloader} \ - --enable-netaccessor-${netaccessor} \ - --enable-transcoder-${transcoder} \ - || die "econf failed" - - emake || die "emake failed" - - if use doc ; then - cd "${S}/doc" - doxygen || die "making docs failed" - fi -} - -src_install () { - emake DESTDIR="${D}" install || die "emake failed" - - cd "${S}" - doenvd "${FILESDIR}/50xerces-c" - - if use doc; then - insinto /usr/share/doc/${PF} - rm -rf samples/config* samples/Makefile* samples/runConfigure samples/install-sh samples/*/Makefile* - doins -r samples - dohtml -r doc/html/* - fi - - dodoc CREDITS KEYS NOTICE README version.incl -} diff --git a/dev-libs/xerces-c/xerces-c-3.0.1-r1.ebuild b/dev-libs/xerces-c/xerces-c-3.0.1-r1.ebuild deleted file mode 100644 index 95886e2c7726..000000000000 --- a/dev-libs/xerces-c/xerces-c-3.0.1-r1.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/xerces-c/xerces-c-3.0.1-r1.ebuild,v 1.8 2010/06/18 18:54:58 pacho Exp $ - -EAPI="2" - -inherit eutils - -DESCRIPTION="A validating XML parser written in a portable subset of C++." -HOMEPAGE="http://xerces.apache.org/xerces-c/" -SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="alpha amd64 hppa ppc ~ppc64 sparc x86 ~x86-fbsd" -IUSE="curl debug doc iconv icu libwww test threads elibc_Darwin elibc_FreeBSD" - -RDEPEND="icu? ( >=dev-libs/icu-4.2 ) - curl? ( net-misc/curl ) - libwww? ( net-libs/libwww ) - virtual/libiconv" -DEPEND="${RDEPEND} - doc? ( app-doc/doxygen )" - -pkg_setup() { - export ICUROOT="/usr" - - if use iconv && use icu ; then - ewarn "This package can use iconv or icu for loading messages" - ewarn "and transcoding, but not both. ICU will precede." - fi -} - -src_prepare() { - sed -i \ - -e 's|$(prefix)/msg|$(DESTDIR)/$(prefix)/share/xerces-c/msg|' \ - src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in || die "sed failed" - - epatch \ - "${FILESDIR}/${P}-CVE-2009-2625.patch" \ - "${FILESDIR}/${P}-libicu.patch" - - if use test && ! use threads ; then - epatch "${FILESDIR}/${PV}-disable-thread-tests.patch" - sed -i \ - -e 's|ThreadTest$(EXEEXT) XSerializerTest$(EXEEXT)|XSerializerTest$(EXEEXT)|g' \ - tests/Makefile.in || die "sed failed" - fi -} - -src_configure() { - local mloader="inmemory" - use iconv && mloader="iconv" - use icu && mloader="icu" - - local transcoder="gnuiconv" - use elibc_FreeBSD && transcoder="iconv" - use elibc_Darwin && transcoder="macosunicodeconverter" - use icu && transcoder="icu" - - # 'cfurl' is only available on OSX and 'socket' isn't supposed to work. - # But the docs aren't clear about it, so we would need some testing... - local netaccessor="socket" - use elibc_Darwin && netaccessor="cfurl" - use libwww && netaccessor="libwww" - use curl && netaccessor="curl" - - econf \ - $(use_enable debug) \ - $(use_enable threads) \ - --enable-msgloader-${mloader} \ - --enable-netaccessor-${netaccessor} \ - --enable-transcoder-${transcoder} -} - -src_compile() { - default - - if use doc ; then - cd "${S}/doc" - doxygen || die "making docs failed" - fi -} - -src_install () { - emake DESTDIR="${D}" install || die "emake failed" - - cd "${S}" - doenvd "${FILESDIR}/50xerces-c" - - if use doc; then - insinto /usr/share/doc/${PF} - rm -rf samples/Makefile* samples/runConfigure samples/src/*/Makefile* samples/.libs - doins -r samples - dohtml -r doc/html/* - fi - - dodoc CREDITS KEYS NOTICE README version.incl -} diff --git a/dev-libs/xerces-c/xerces-c-3.0.1.ebuild b/dev-libs/xerces-c/xerces-c-3.0.1.ebuild deleted file mode 100644 index 329e49bcd7f1..000000000000 --- a/dev-libs/xerces-c/xerces-c-3.0.1.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/xerces-c/xerces-c-3.0.1.ebuild,v 1.1 2009/03/02 08:58:57 dev-zero Exp $ - -EAPI="2" - -inherit eutils - -DESCRIPTION="A validating XML parser written in a portable subset of C++." -HOMEPAGE="http://xerces.apache.org/xerces-c/" -SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz" -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd" -IUSE="curl debug doc iconv icu libwww threads elibc_Darwin elibc_FreeBSD" - -RDEPEND="icu? ( dev-libs/icu ) - curl? ( net-misc/curl ) - libwww? ( net-libs/libwww ) - virtual/libiconv" -DEPEND="${RDEPEND} - doc? ( app-doc/doxygen )" - -pkg_setup() { - export ICUROOT="/usr" - - if use iconv && use icu ; then - ewarn "This package can use iconv or icu for loading messages" - ewarn "and transcoding, but not both. ICU will precede." - fi -} - -src_prepare() { - sed -i \ - -e 's|$(prefix)/msg|$(DESTDIR)/$(prefix)/share/xerces-c/msg|' \ - src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in || die "sed failed" -} - -src_configure() { - local mloader="inmemory" - use iconv && mloader="iconv" - use icu && mloader="icu" - - local transcoder="gnuiconv" - use elibc_FreeBSD && transcoder="iconv" - use elibc_Darwin && transcoder="macosunicodeconverter" - use icu && transcoder="icu" - - # 'cfurl' is only available on OSX and 'socket' isn't supposed to work. - # But the docs aren't clear about it, so we would need some testing... - local netaccessor="socket" - use elibc_Darwin && netaccessor="cfurl" - use libwww && netaccessor="libwww" - use curl && netaccessor="curl" - - econf \ - $(use_enable debug) \ - $(use_enable threads) \ - --enable-msgloader-${mloader} \ - --enable-netaccessor-${netaccessor} \ - --enable-transcoder-${transcoder} -} - -src_compile() { - default - - if use doc ; then - cd "${S}/doc" - doxygen || die "making docs failed" - fi -} - -src_install () { - emake DESTDIR="${D}" install || die "emake failed" - - cd "${S}" - doenvd "${FILESDIR}/50xerces-c" - - if use doc; then - insinto /usr/share/doc/${PF} - rm -rf samples/Makefile* samples/runConfigure samples/src/*/Makefile* samples/.libs - doins -r samples - dohtml -r doc/html/* - fi - - dodoc CREDITS KEYS NOTICE README version.incl -} |