diff options
author | Alexey Stukalov | 2015-06-08 18:43:00 +0200 |
---|---|---|
committer | Alexey Stukalov | 2015-06-08 18:43:00 +0200 |
commit | 666400125bf7b430fedb44fedd8cbb9078cb97cd (patch) | |
tree | cfa5794c0142ba0f812cfea0a5292434e9fcaf5f | |
download | aur-666400125bf7b430fedb44fedd8cbb9078cb97cd.tar.gz |
Initial commit (v3.0-2)
-rw-r--r-- | .SRCINFO | 38 | ||||
-rw-r--r-- | PKGBUILD | 82 | ||||
-rw-r--r-- | bindings_dirs.patch | 83 | ||||
-rw-r--r-- | item_handle.patch | 14 | ||||
-rw-r--r-- | parser_bison_3_0_compatibility.patch | 50 | ||||
-rw-r--r-- | swig_xqj.patch | 34 |
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) |