commit 5beb16868c67a6941cd7b6d6fc3231f0c639834d
Author: Jakub Bogusz <[email protected]>
Date:   Fri Nov 24 19:44:18 2017 +0100

    - added patches for compatibility with xerces 3.2
    - release 2

 xqilla-xerces-1.patch | 14 ++++++++++++++
 xqilla-xerces-2.patch | 41 +++++++++++++++++++++++++++++++++++++++++
 xqilla.spec           | 10 +++++++++-
 3 files changed, 64 insertions(+), 1 deletion(-)
---
diff --git a/xqilla.spec b/xqilla.spec
index 7fcd03c..7c4cd2f 100644
--- a/xqilla.spec
+++ b/xqilla.spec
@@ -6,13 +6,18 @@ Summary:      XQilla - C++ implementation of XQuery and XPath 
2.0 based on Xerces-C
 Summary(pl.UTF-8):     XQilla - implementacja C++ XQuary i XPath 2.0 oparta na 
bibliotece Xerces-C
 Name:          xqilla
 Version:       2.3.3
-Release:       1
+Release:       2
 License:       Apache v2.0
 Group:         Libraries
 Source0:       http://downloads.sourceforge.net/xqilla/XQilla-%{version}.tar.gz
 # Source0-md5: 8ece20348687b6529bb934c17067803c
 Patch0:                %{name}-link.patch
 Patch1:                %{name}-soname.patch
+# https://sourceforge.net/p/xqilla/bugs/48/
+# 
https://sourceforge.net/p/xqilla/bugs/48/attachment/patch-src_dom-api_impl_XPathDocumentImpl.cpp
+Patch2:                %{name}-xerces-1.patch
+# 
https://sourceforge.net/p/xqilla/bugs/48/attachment/patch-src_dom-api_impl_XPathNamespaceImpl.cpp
+Patch3:                %{name}-xerces-2.patch
 URL:           http://xqilla.sourceforge.net/
 BuildRequires: autoconf >= 2.59
 BuildRequires: automake
@@ -77,6 +82,8 @@ Dokumentacja API biblioteki XQilla.
 %setup -q -n XQilla-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p0
+%patch3 -p0
 
 %build
 %{__libtoolize}
@@ -92,6 +99,7 @@ Dokumentacja API biblioteki XQilla.
 
 %install
 rm -rf $RPM_BUILD_ROOT
+
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
diff --git a/xqilla-xerces-1.patch b/xqilla-xerces-1.patch
new file mode 100644
index 0000000..27839ca
--- /dev/null
+++ b/xqilla-xerces-1.patch
@@ -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());
+ 
diff --git a/xqilla-xerces-2.patch b/xqilla-xerces-2.patch
new file mode 100644
index 0000000..041e925
--- /dev/null
+++ b/xqilla-xerces-2.patch
@@ -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
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xqilla.git/commitdiff/5beb16868c67a6941cd7b6d6fc3231f0c639834d

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to