summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Bogusz2017-11-24 18:44:18 (GMT)
committerJakub Bogusz2017-11-24 18:44:18 (GMT)
commit5beb16868c67a6941cd7b6d6fc3231f0c639834d (patch)
tree06f456c94e28a8d8ccac3ae20e035488e859e1e7
parent56965b8e22a6a30a68a0cb0f18fc42484df3b1e3 (diff)
downloadxqilla-5beb16868c67a6941cd7b6d6fc3231f0c639834d.zip
xqilla-5beb16868c67a6941cd7b6d6fc3231f0c639834d.tar.gz
- added patches for compatibility with xerces 3.2auto/th/xqilla-2.3.3-2
- release 2
-rw-r--r--xqilla-xerces-1.patch14
-rw-r--r--xqilla-xerces-2.patch41
-rw-r--r--xqilla.spec10
3 files changed, 64 insertions, 1 deletions
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
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