summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexey Stukalov2015-06-08 18:43:00 +0200
committerAlexey Stukalov2015-06-08 18:43:00 +0200
commit666400125bf7b430fedb44fedd8cbb9078cb97cd (patch)
treecfa5794c0142ba0f812cfea0a5292434e9fcaf5f
downloadaur-666400125bf7b430fedb44fedd8cbb9078cb97cd.tar.gz
Initial commit (v3.0-2)
-rw-r--r--.SRCINFO38
-rw-r--r--PKGBUILD82
-rw-r--r--bindings_dirs.patch83
-rw-r--r--item_handle.patch14
-rw-r--r--parser_bison_3_0_compatibility.patch50
-rw-r--r--swig_xqj.patch34
6 files changed, 301 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..80874ea61e6e
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,38 @@
+pkgbase = zorba
+ pkgdesc = NoSQL(XQuery/JSONiq) Query Processor written in C++.
+ pkgver = 3.0
+ pkgrel = 2
+ url = http://www.zorba.io/
+ arch = i686
+ arch = x86_64
+ license = APACHE
+ makedepends = cmake>=2.8.0
+ makedepends = flex>=2.5.33
+ makedepends = bison>=2.6
+ makedepends = gcc>=4.7
+ makedepends = swig>=1.3.40
+ makedepends = python2
+ makedepends = java-environment
+ makedepends = ruby
+ depends = libxml2>=2.7.0
+ depends = libxslt>=1.1.24
+ depends = icu>=3.6
+ depends = boost>=1.47
+ depends = xerces-c>=3.0.0
+ optdepends = curl>=7.21.0: REST and HTTP support
+ optdepends = python2: python 2 bindings
+ optdepends = java-runtime: java bindings
+ optdepends = ruby: ruby bindings
+ source = http://launchpad.net/zorba/trunk/3.0/+download/zorba-3.0.tar.gz
+ source = item_handle.patch
+ source = bindings_dirs.patch
+ source = swig_xqj.patch
+ source = parser_bison_3_0_compatibility.patch
+ md5sums = 652e67103597e36126586ed1432e23bd
+ md5sums = 1ec5d529746472147af9c325b0f49a62
+ md5sums = 465cb60352b3a564da363b3e1cc80dcf
+ md5sums = 93227da5598469f57eb1ff44e225c8d6
+ md5sums = a578bf5966ab6dca4bdecfda5dff13c7
+
+pkgname = zorba
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..8c284334ed0e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,82 @@
+# Author: Mathieu Boespflug <mboes@tweag.net> (original 0.9.21)
+# Maintainer: Alexey Stukalov <astukalov@gmail.com> (maintainance of 2.x-3.x series)
+# Contributor: Nikolay Amiantov <nikoamia@gmail.com> (added bindings packaging)
+# Contributor: Ivan Kanakarakis <ivan.kanak@gmail.com> (fixed bison failures)
+pkgname=zorba
+pkgver=3.0
+pkgrel=2
+pkgdesc="NoSQL(XQuery/JSONiq) Query Processor written in C++."
+url="http://www.zorba.io/"
+arch=('i686' 'x86_64')
+license=('APACHE')
+depends=('libxml2>=2.7.0'
+ 'libxslt>=1.1.24'
+ 'icu>=3.6'
+ 'boost>=1.47'
+ 'xerces-c>=3.0.0'
+)
+optdepends=('curl>=7.21.0: REST and HTTP support'
+ 'python2: python 2 bindings'
+ 'java-runtime: java bindings'
+ 'ruby: ruby bindings'
+)
+makedepends=('cmake>=2.8.0'
+ 'flex>=2.5.33'
+ 'bison>=2.6'
+ 'gcc>=4.7'
+ 'swig>=1.3.40'
+ 'python2'
+ 'java-environment'
+ 'ruby'
+)
+source=(http://launchpad.net/${pkgname}/trunk/3.0/+download/${pkgname}-${pkgver}.tar.gz
+ item_handle.patch
+ bindings_dirs.patch
+ swig_xqj.patch
+ parser_bison_3_0_compatibility.patch
+)
+md5sums=('652e67103597e36126586ed1432e23bd'
+ '1ec5d529746472147af9c325b0f49a62'
+ '465cb60352b3a564da363b3e1cc80dcf'
+ '93227da5598469f57eb1ff44e225c8d6'
+ 'a578bf5966ab6dca4bdecfda5dff13c7')
+
+prepare() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ patch -p1 -i ../item_handle.patch
+ patch -p1 -i ../bindings_dirs.patch
+ patch -p1 -i ../swig_xqj.patch
+ patch -p1 -i ../parser_bison_3_0_compatibility.patch
+}
+
+build() {
+ mkdir "$srcdir/${pkgname}-${pkgver}/build" || true
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+
+ python_ver="$(python2 -c 'import sys; print(sys.version[:3])')"
+ ruby_ver="$(ruby -e 'puts RUBY_VERSION')"
+
+ msg2 "Configuring..."
+ cmake -Wno-dev \
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS} -std=gnu++11 -Wno-c++0x-compat" \
+ -DCMAKE_EXE_LINKER_FLAGS="-pthread" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DPYTHON_INSTALL_PATH="/usr/lib/python$python_ver/site-packages" \
+ -DRUBY_INSTALL_PATH="/usr/lib/ruby/vendor_ruby/$ruby_ver/$CARCH-linux" \
+ "$srcdir/${pkgname}-${pkgver}"
+
+ msg2 "Compiling..."
+ make
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}/build"
+ make DESTDIR="$pkgdir" install
+
+ # compile python bindings
+ python_ver="$(python2 -c 'import sys; print(sys.version[:3])')"
+ python2 -m compileall "$pkgdir/usr/lib/python$python_ver"
+ python2 -Om compileall "$pkgdir/usr/lib/python$python_ver"
+}
+
diff --git a/bindings_dirs.patch b/bindings_dirs.patch
new file mode 100644
index 000000000000..26347c450484
--- /dev/null
+++ b/bindings_dirs.patch
@@ -0,0 +1,83 @@
+diff -ru a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt
+--- a/swig/python/CMakeLists.txt 2013-11-06 08:20:44.000000000 +0100
++++ b/swig/python/CMakeLists.txt 2013-11-09 13:12:11.428962684 +0100
+@@ -40,24 +40,24 @@
+ ENDIF(PYTHON_DEBUG_LIBRARIES)
+ ENDIF (WIN32)
+
+- EXECUTE_PROCESS (
+- COMMAND ${PYTHON_EXECUTABLE} -c "from distutils import sysconfig;print sysconfig.get_python_lib(0)"
+- OUTPUT_VARIABLE PYTHON_INSTALL_PATH
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+- )
+-
+ FILE(GLOB ZORBA_API_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/../" "${CMAKE_CURRENT_SOURCE_DIR}/../*.h")
+ FOREACH(ZORBA_API_HEADER ${ZORBA_API_HEADERS})
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/../${ZORBA_API_HEADER}" "${CMAKE_CURRENT_BINARY_DIR}/${ZORBA_API_HEADER}")
+ ENDFOREACH(ZORBA_API_HEADER ${ZORBA_API_HEADERS})
+
+- SET (PYTHON_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/share/python")
++ IF (NOT DEFINED PYTHON_INSTALL_PATH)
++ SET (PYTHON_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/share/python")
++ ELSE (NOT DEFINED PYTHON_INSTALL_PATH)
++ SET (PYTHON_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_PATH}")
++ ENDIF (NOT DEFINED PYTHON_INSTALL_PATH)
++
++ GET_PROPERTY(ZORBA_API_OUTPUT_NAME TARGET _zorba_api_python PROPERTY OUTPUT_NAME)
+
+ IF (NOT WIN32)
+ INSTALL (
+ FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/zorba_api.py
+- ${CMAKE_CURRENT_BINARY_DIR}/_zorba_api_python.so
++ ${CMAKE_CURRENT_BINARY_DIR}/${ZORBA_API_OUTPUT_NAME}.so
+ DESTINATION ${PYTHON_INSTALL_PATH}
+ )
+ ELSE(NOT WIN32)
+diff -ru a/swig/ruby/CMakeLists.txt b/swig/ruby/CMakeLists.txt
+--- a/swig/ruby/CMakeLists.txt 2013-11-06 08:20:44.000000000 +0100
++++ b/swig/ruby/CMakeLists.txt 2013-11-09 12:21:32.153061448 +0100
+@@ -56,31 +56,34 @@
+ SET_TARGET_PROPERTIES( ${SWIG_MODULE_zorba_api_REAL_NAME} PROPERTIES PREFIX "" )
+ ENDIF ( LINUX OR CYGWIN OR APPLE )
+
+- EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['sitearchdir']"
+- OUTPUT_VARIABLE RUBY_SITEARCH_DIR)
+-
+ FILE(GLOB ZORBA_API_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/../" "${CMAKE_CURRENT_SOURCE_DIR}/../*.h")
+ FOREACH(ZORBA_API_HEADER ${ZORBA_API_HEADERS})
+ CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/../${ZORBA_API_HEADER}" "${CMAKE_CURRENT_BINARY_DIR}/${ZORBA_API_HEADER}")
+ ENDFOREACH(ZORBA_API_HEADER ${ZORBA_API_HEADERS})
+
+- SET (RUBY_SITEARCH_DIR "${CMAKE_INSTALL_PREFIX}/share/ruby")
++ IF ( NOT DEFINED RUBY_INSTALL_PATH )
++ SET (RUBY_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/share/ruby")
++ ELSE ( NOT DEFINED RUBY_INSTALL_PATH )
++ SET (RUBY_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${RUBY_INSTALL_PATH}")
++ ENDIF ( NOT DEFINED RUBY_INSTALL_PATH )
++
++ GET_PROPERTY(ZORBA_API_OUTPUT_NAME TARGET zorba_api PROPERTY OUTPUT_NAME)
+
+ IF ( APPLE )
+ INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/zorba_api_ruby.bundle
+- DESTINATION ${RUBY_SITEARCH_DIR} )
++ DESTINATION ${RUBY_INSTALL_PATH} )
+ ELSE ( APPLE )
+ IF ( LINUX )
+- INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/zorba_api_ruby.so
+- DESTINATION ${RUBY_SITEARCH_DIR}
++ INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${ZORBA_API_OUTPUT_NAME}.so
++ DESTINATION ${RUBY_INSTALL_PATH}
+ COMPONENT ruby_swig )
+ ELSE ( LINUX )
+ IF (MSVC_IDE)
+- INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/zorba_api_ruby.so
++ INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}/${ZORBA_API_OUTPUT_NAME}.so
+ DESTINATION share/ruby
+ COMPONENT ruby_swig )
+ ELSE (MSVC_IDE)
+- INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/zorba_api_ruby.so
++ INSTALL ( FILES ${CMAKE_CURRENT_BINARY_DIR}/${ZORBA_API_OUTPUT_NAME}.so
+ DESTINATION share/ruby
+ COMPONENT ruby_swig )
+ ENDIF (MSVC_IDE)
diff --git a/item_handle.patch b/item_handle.patch
new file mode 100644
index 000000000000..b591de3b19a5
--- /dev/null
+++ b/item_handle.patch
@@ -0,0 +1,14 @@
+diff -ru a/src/store/api/item_handle.h b/src/store/api/item_handle.h
+--- a/src/store/api/item_handle.h 2013-11-06 08:20:44.000000000 +0100
++++ b/src/store/api/item_handle.h 2013-11-09 12:13:38.964469110 +0100
+@@ -16,6 +16,10 @@
+ #ifndef ZORBA_STORE_ITEM_HANDLE_H
+ #define ZORBA_STORE_ITEM_HANDLE_H
+
++#include <string>
++#include <sstream>
++
++
+ namespace zorba
+ {
+
diff --git a/parser_bison_3_0_compatibility.patch b/parser_bison_3_0_compatibility.patch
new file mode 100644
index 000000000000..38e40c44b03b
--- /dev/null
+++ b/parser_bison_3_0_compatibility.patch
@@ -0,0 +1,50 @@
+diff -ru a/src/compiler/parser/parser.y b/src/compiler/parser/parser.y
+--- a/src/compiler/parser/parser.y 2013-11-06 08:20:44.000000000 +0100
++++ b/src/compiler/parser/parser.y 2013-11-09 12:29:24.621711602 +0100
+@@ -31,8 +31,7 @@
+ %skeleton "lalr1.cc" /* -*- C++ -*- */
+ %require "2.4"
+ %defines
+-%name-prefix="zorba"
+-%pure-parser
++%name-prefix "zorba"
+ %error-verbose
+
+
+@@ -45,9 +44,9 @@
+
+
+ #ifdef XQUERY_PARSER
+-%define "parser_class_name" "xquery_parser"
++%define "parser_class_name" { xquery_parser }
+ #else
+-%define "parser_class_name" "jsoniq_parser"
++%define "parser_class_name" { jsoniq_parser }
+ #endif
+
+
+@@ -4635,21 +4634,21 @@
+ $$ = NumericLiteral::new_literal(
+ LOC(@$), ParseConstants::num_decimal, *$1
+ );
+- delete yylval.decval;
++ delete yylhs.value.decval;
+ }
+ | INTEGER_LITERAL
+ {
+ $$ = NumericLiteral::new_literal(
+ LOC(@$), ParseConstants::num_integer, *$1
+ );
+- delete yylval.ival;
++ delete yylhs.value.ival;
+ }
+ | DOUBLE_LITERAL
+ {
+ $$ = NumericLiteral::new_literal(
+ LOC(@$), ParseConstants::num_double, *$1
+ );
+- delete yylval.dval;
++ delete yylhs.value.dval;
+ }
+ ;
+
diff --git a/swig_xqj.patch b/swig_xqj.patch
new file mode 100644
index 000000000000..0e3a11802e46
--- /dev/null
+++ b/swig_xqj.patch
@@ -0,0 +1,34 @@
+diff -ru a/swig/java/CMakeLists.txt b/swig/java/CMakeLists.txt
+--- a/swig/java/CMakeLists.txt 2013-11-06 08:20:44.000000000 +0100
++++ b/swig/java/CMakeLists.txt 2015-01-15 10:40:04.601530743 +0100
+@@ -106,4 +106,5 @@
+
+ ELSE (JAVA_INCLUDE_PATH)
+ MESSAGE ( STATUS "SWIG: Java binding not generated because JNI was not found.")
++ SET ( ZORBA_JAVA_JAR "ZORBA_JAVA_JAR-NOTFOUND" PARENT_SCOPE )
+ ENDIF (JAVA_INCLUDE_PATH)
+diff -ru a/swig/xqj/CMakeLists.txt b/swig/xqj/CMakeLists.txt
+--- a/swig/xqj/CMakeLists.txt 2013-11-06 08:20:44.000000000 +0100
++++ b/swig/xqj/CMakeLists.txt 2015-01-15 10:52:42.053438007 +0100
+@@ -12,6 +12,9 @@
+ # See the License for the specific language governing permissions and
+ # limitations under the License.
+
++STRING ( COMPARE NOTEQUAL ${ZORBA_JAVA_JAR} "ZORBA_JAVA_JAR-NOTFOUND" ZORBA_JAR_GENERATED )
++
++IF ( ZORBA_JAR_GENERATED )
+ INCLUDE (CMakeJavaInformation )
+ MESSAGE(STATUS "SWIG: Generating XQJ API")
+
+@@ -126,6 +129,10 @@
+ INSTALL(FILES ${XQJAPI_JAR_FILE} DESTINATION share/xqj COMPONENT "XQJ_SWIG")
+ ENDIF(NOT WIN32)
+
+-ELSEIF (Java_JAVAC_EXECUTABLE)
++ELSE (Java_JAVAC_EXECUTABLE)
+ MESSAGE ( STATUS "SWIG Java: Not generating XQJ API because JNI headers not found.")
+ ENDIF (Java_JAVAC_EXECUTABLE)
++
++ELSE (ZORBA_JAR_GENERATED)
++ MESSAGE( STATUS "SWIG Java: Not generating XQJ API because Zorba Java bindings not generated." )
++ENDIF (ZORBA_JAR_GENERATED)