Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Feb 2018 20:00:26 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r461645 - in head/textproc/xqilla: . files
Message-ID:  <201802122000.w1CK0QmT044002@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@codelibre.net>
  Reviewed by:	Walter Schwarzenfeld <w.schwarzenfeld@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802122000.w1CK0QmT044002>