diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 38 | ||||
-rw-r--r-- | xerces-containing-node.patch | 55 |
3 files changed, 82 insertions, 27 deletions
@@ -1,18 +1,16 @@ -# Generated by mksrcinfo v8 -# Mon Mar 14 20:42:39 UTC 2016 pkgbase = xqilla pkgdesc = An XQuery and XPath 2.0 library, written in C++ and built on top of Xerces-C. - pkgver = 2.3.2 + pkgver = 2.3.3 pkgrel = 1 url = http://xqilla.sourceforge.net/ - arch = any + arch = x86_64 license = GPL3 depends = xerces-c - provides = xqilla - source = http://downloads.sourceforge.net/project/xqilla/XQilla-2.3.2.tar.gz - source = https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.2.tar.gz - sha256sums = 5ae0aed4091521d5c2f541093e02a81ebe55a9087ba735f80b110068584e217c - sha256sums = 743bd0a029bf8de56a587c270d97031e0099fe2b7142cef03e0da16e282655a0 + depends = icu + source = https://downloads.sourceforge.net/project/xqilla/XQilla-2.3.3.tar.gz + source = xerces-containing-node.patch + sha256sums = 8f76b9b4f966f315acc2a8e104e426d8a76ba4ea3441b0ecfdd1e39195674fd6 + sha256sums = 36ffb2dff579e5610ca3be2a962942433127b24a78ca454647059d6d54b8e014 pkgname = xqilla @@ -1,30 +1,32 @@ # Maintainer: Brendan Abolivier <brendan@cozycloud.cc> pkgname=xqilla -pkgver=2.3.2 +pkgver=2.3.3 pkgrel=1 -epoch= pkgdesc="An XQuery and XPath 2.0 library, written in C++ and built on top of Xerces-C." -arch=("any") +arch=("x86_64") url="http://xqilla.sourceforge.net/" license=("GPL3") -groups=() -depends=("xerces-c") -provides=("xqilla") -backup=() -changelog= -source=("http://downloads.sourceforge.net/project/xqilla/XQilla-2.3.2.tar.gz" - "https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.2.tar.gz") -noextract=() -sha256sums=("5ae0aed4091521d5c2f541093e02a81ebe55a9087ba735f80b110068584e217c" - "743bd0a029bf8de56a587c270d97031e0099fe2b7142cef03e0da16e282655a0") +depends=("xerces-c" "icu") +source=("https://downloads.sourceforge.net/project/xqilla/XQilla-${pkgver}.tar.gz" + "xerces-containing-node.patch") +sha256sums=('8f76b9b4f966f315acc2a8e104e426d8a76ba4ea3441b0ecfdd1e39195674fd6' + '36ffb2dff579e5610ca3be2a962942433127b24a78ca454647059d6d54b8e014') + +prepare() { + cd "XQilla-${pkgver}" + + # Apply patch from Homebrew to make XQilla compatible with Xerces-C 3.2. + # See: https://sourceforge.net/p/xqilla/bugs/48/ + patch -p1 < "${srcdir}/xerces-containing-node.patch" +} build() { - cd XQilla-2.3.2 - ./configure --with-xerces=`pwd`/../xerces-c-3.1.2/ - make + cd "XQilla-${pkgver}" + ./configure --prefix=/usr --with-xerces=/usr + make } package() { - cd XQilla-2.3.2 - make DESTDIR="$pkgdir/" install + cd "XQilla-${pkgver}" + make DESTDIR="${pkgdir}/" install } diff --git a/xerces-containing-node.patch b/xerces-containing-node.patch new file mode 100644 index 000000000000..6ab3a5b104e4 --- /dev/null +++ b/xerces-containing-node.patch @@ -0,0 +1,55 @@ +--- a/src/dom-api/impl/XPathDocumentImpl.cpp 2017-09-03 19:24:35 UTC ++++ b/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()); + +--- a/src/dom-api/impl/XPathNamespaceImpl.cpp 2017-09-03 20:26:37 UTC ++++ b/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 |