svn commit: r461645 - in head/textproc/xqilla: . files
Kurt Jaeger
pi at FreeBSD.org
Mon Feb 12 20:00:27 UTC 2018
Author: pi
Date: Mon Feb 12 20:00:26 2018
New Revision: 461645
URL: https://svnweb.freebsd.org/changeset/ports/461645
Log:
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 at codelibre.net>
Reviewed by: Walter Schwarzenfeld <w.schwarzenfeld at utanet.at>
Added:
head/textproc/xqilla/files/patch-src_dom-api_impl_XPathDocumentImpl.cpp (contents, props changed)
head/textproc/xqilla/files/patch-src_dom-api_impl_XPathNamespaceImpl.cpp (contents, props changed)
Modified:
head/textproc/xqilla/Makefile
Modified: head/textproc/xqilla/Makefile
==============================================================================
--- head/textproc/xqilla/Makefile Mon Feb 12 19:57:12 2018 (r461644)
+++ head/textproc/xqilla/Makefile Mon Feb 12 20:00:26 2018 (r461645)
@@ -3,6 +3,7 @@
PORTNAME= xqilla
PORTVERSION= 2.3.3
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= textproc
MASTER_SITES= SF/${PORTNAME}
@@ -13,8 +14,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
Added: head/textproc/xqilla/files/patch-src_dom-api_impl_XPathDocumentImpl.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/textproc/xqilla/files/patch-src_dom-api_impl_XPathDocumentImpl.cpp Mon Feb 12 20:00:26 2018 (r461645)
@@ -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());
+
Added: head/textproc/xqilla/files/patch-src_dom-api_impl_XPathNamespaceImpl.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/textproc/xqilla/files/patch-src_dom-api_impl_XPathNamespaceImpl.cpp Mon Feb 12 20:00:26 2018 (r461645)
@@ -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
More information about the svn-ports-head
mailing list