mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-28 01:06:17 +00:00
textproc/xqilla: unbreak by adding patches for the Xerces-C 3.2.0 case
- support for the old style (Xerces-C 3.1) castToNode and the new style (Xerces-C 3.2) fContainingNode replacement. This will allow xqilla to use the new xerces in the ports tree. Upstream ticket: https://sourceforge.net/p/xqilla/bugs/48/ PR: 222400 Submitted by: Roger Leigh <rleigh@codelibre.net> Reviewed by: Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
This commit is contained in:
parent
0c875fcc47
commit
72af6916c2
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=461645
@ -3,6 +3,7 @@
|
||||
|
||||
PORTNAME= xqilla
|
||||
PORTVERSION= 2.3.3
|
||||
PORTREVISION= 1
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= textproc
|
||||
MASTER_SITES= SF/${PORTNAME}
|
||||
@ -14,8 +15,6 @@ COMMENT= XQuery and XPath2 library
|
||||
LICENSE= APACHE20
|
||||
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||
|
||||
BROKEN= fails to build
|
||||
|
||||
LIB_DEPENDS= libxerces-c.so:textproc/xerces-c3 \
|
||||
libtidy.so:www/tidy-lib
|
||||
|
||||
|
@ -0,0 +1,14 @@
|
||||
--- src/dom-api/impl/XPathDocumentImpl.cpp.orig 2017-09-03 19:24:35 UTC
|
||||
+++ src/dom-api/impl/XPathDocumentImpl.cpp
|
||||
@@ -62,7 +62,11 @@ DOMNode *XPathDocumentImpl::insertBefore
|
||||
if (thisNodeImpl->isReadOnly())
|
||||
throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR, 0, getMemoryManager());
|
||||
|
||||
+#if _XERCES_VERSION >= 30200
|
||||
+ DOMNode* thisNode = fParent.fContainingNode;
|
||||
+#else
|
||||
DOMNode* thisNode = castToNode(&fParent);
|
||||
+#endif
|
||||
if (newChild->getOwnerDocument() != thisNode)
|
||||
throw DOMException(DOMException::WRONG_DOCUMENT_ERR, 0, getMemoryManager());
|
||||
|
@ -0,0 +1,41 @@
|
||||
--- src/dom-api/impl/XPathNamespaceImpl.cpp.orig 2017-09-03 20:26:37 UTC
|
||||
+++ src/dom-api/impl/XPathNamespaceImpl.cpp
|
||||
@@ -33,7 +33,11 @@ XERCES_CPP_NAMESPACE_USE;
|
||||
|
||||
XPathNamespaceImpl::XPathNamespaceImpl(const XMLCh* const nsPrefix,
|
||||
const XMLCh* const nsUri, DOMElement *owner, DOMDocument *docOwner)
|
||||
+#if _XERCES_VERSION >= 30200
|
||||
+ : fNode(this, docOwner)
|
||||
+#else
|
||||
: fNode(docOwner)
|
||||
+#endif
|
||||
{
|
||||
DOMNodeImpl *argImpl = castToNodeImpl(this);
|
||||
|
||||
@@ -54,7 +58,13 @@ XPathNamespaceImpl::XPathNamespaceImpl(c
|
||||
}
|
||||
|
||||
XPathNamespaceImpl::XPathNamespaceImpl(const XPathNamespaceImpl &other)
|
||||
- : fNode(other.fNode), uri(other.uri), prefix(other.prefix)
|
||||
+#if _XERCES_VERSION >= 30200
|
||||
+ : fNode(this, other.fNode),
|
||||
+#else
|
||||
+ : fNode(other.fNode),
|
||||
+
|
||||
+#endif
|
||||
+ uri(other.uri), prefix(other.prefix)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -196,7 +206,11 @@ short XPathNamespaceImpl::com
|
||||
|
||||
//if it is a custom node and bigger than us we must ask it for the order
|
||||
if(otherType > DOMXPathNamespace::XPATH_NAMESPACE_NODE) {
|
||||
+#if _XERCES_VERSION >= 30200
|
||||
+ DOMNodeImpl tmp(const_cast<XPathNamespaceImpl *>(this), 0);
|
||||
+#else
|
||||
DOMNodeImpl tmp(0);
|
||||
+#endif
|
||||
#if _XERCES_VERSION >= 30000
|
||||
return tmp.reverseTreeOrderBitPattern(other->compareDocumentPosition(this));
|
||||
#else
|
Loading…
Reference in New Issue
Block a user