summaryrefslogtreecommitdiff
path: root/extra/clucene
diff options
context:
space:
mode:
Diffstat (limited to 'extra/clucene')
-rw-r--r--extra/clucene/PKGBUILD78
-rw-r--r--extra/clucene/clucene-core-2.3.3.4-install_contribs_lib.patch42
-rw-r--r--extra/clucene/clucene-core-2.3.3.4-pkgconfig.patch12
-rw-r--r--extra/clucene/clucene-debug.patch11
-rw-r--r--extra/clucene/clucene-gcc-atomics.patch31
-rw-r--r--extra/clucene/clucene-multimap-put.patch10
-rw-r--r--extra/clucene/clucene-narrowing-conversions.patch25
-rw-r--r--extra/clucene/clucene-warnings.patch54
-rw-r--r--extra/clucene/fix_zlib_detections.diff21
9 files changed, 284 insertions, 0 deletions
diff --git a/extra/clucene/PKGBUILD b/extra/clucene/PKGBUILD
new file mode 100644
index 000000000..dbeb16810
--- /dev/null
+++ b/extra/clucene/PKGBUILD
@@ -0,0 +1,78 @@
+# $Id: PKGBUILD 162256 2012-06-24 14:30:07Z andyrtr $
+# Maintainer: AndyRTR <andyrtr@archlinux.org>
+# Contributor: Alexander Rødseth
+# Contributor: Alois Nespor <alois.nespor@gmail.com>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=clucene
+pkgver=2.3.3.4
+pkgrel=5
+pkgdesc="C++ port of the high-performance text search engine Lucene"
+arch=('x86_64' 'i686')
+url="http://clucene.sourceforge.net/"
+license=('APACHE' 'LGPL')
+depends=('gcc-libs' 'zlib' 'boost-libs')
+makedepends=('cmake' 'boost')
+source=(http://downloads.sourceforge.net/$pkgname/$pkgname-core-$pkgver.tar.gz
+ # Fedora patches
+ clucene-core-2.3.3.4-pkgconfig.patch
+ clucene-core-2.3.3.4-install_contribs_lib.patch
+ # upstream patch
+ fix_zlib_detections.diff
+ # LibreOffice patches
+ clucene-warnings.patch
+ clucene-gcc-atomics.patch
+ clucene-debug.patch
+ clucene-narrowing-conversions.patch
+ clucene-multimap-put.patch)
+sha256sums=('ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab'
+ '10c808ce483d997d7ff349cc3ec97b8785c365f956d6eef45458e9caf4e5e88d'
+ '3d3f73685f75b4ceacf1941e50b6108941bded3ca558ac1343c35b1b7d0e78dc'
+ 'e1a6a58dc344d8d5e3218137a5e7a689900eb6ea4cce1dc426e861706ab78889'
+ 'a66922411eca00c1cd171dd15ac462eec7a832cf067dbb0231773553554242ef'
+ 'b11dca0d6b889f6ddfa4fd2566373717f54fed9590bf0daee054dea5e39a9f46'
+ 'c944b9de6b18e49bb065d10c5d045446eeb15f680d6af4b5ac7e4f5fbda8f2a0'
+ 'cfc88dae46efb2a17ffdc088fd78ca28655e653c9d183b83bdae18c0192a8ddd'
+ '917c8bfc1dd3313a716ecacf398dbcaf0aa02ce61b41ca2d3d7eb84fa160fce3')
+
+build() {
+ cd $srcdir/$pkgname-core-$pkgver
+
+ # add missing contrib-libs needed by LibO 3.6, patch by FC
+ patch -Np1 -i ${srcdir}/clucene-core-2.3.3.4-install_contribs_lib.patch
+ # pkgconfig file is missing clucene-shared (upstream ID: 3461512), patch by FC
+ patch -Np1 -i ${srcdir}/clucene-core-2.3.3.4-pkgconfig.patch
+ # one upstream postrelease commit for proper zlib detection
+ patch -Np1 -i ${srcdir}/fix_zlib_detections.diff
+ # LibreOffice patches http://cgit.freedesktop.org/libreoffice/core/tree/clucene/patches
+ patch -Np0 -i ${srcdir}/clucene-warnings.patch
+ patch -Np0 -i ${srcdir}/clucene-gcc-atomics.patch
+ patch -Np0 -i ${srcdir}/clucene-debug.patch
+ patch -Np0 -i ${srcdir}/clucene-narrowing-conversions.patch
+ patch -Np0 -i ${srcdir}/clucene-multimap-put.patch
+
+ mkdir build
+ pushd build
+ cmake .. \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_ASCII_MODE=OFF \
+ -DENABLE_PACKAGING=OFF \
+ -DBUILD_CONTRIBS_LIB:BOOL=ON \
+ -DLIB_DESTINATION:PATH=/usr/lib \
+ -DLUCENE_SYS_INCLUDES:PATH=/usr/lib \
+ -DDISABLE_MULTITHREADING=OFF
+ popd
+ make -C build
+}
+
+#check() {
+# cd $srcdir/$pkgname-core-$pkgver
+# make cl_test -C build
+# make test -C build || /bin/true # currently fails the tests as expected (see FC comment)
+#}
+
+package() {
+ cd $srcdir/$pkgname-core-$pkgver
+ make DESTDIR="$pkgdir" install -C build
+ rm -rf $pkgdir/usr/lib/CLuceneConfig.cmake
+}
diff --git a/extra/clucene/clucene-core-2.3.3.4-install_contribs_lib.patch b/extra/clucene/clucene-core-2.3.3.4-install_contribs_lib.patch
new file mode 100644
index 000000000..8fbb3c716
--- /dev/null
+++ b/extra/clucene/clucene-core-2.3.3.4-install_contribs_lib.patch
@@ -0,0 +1,42 @@
+diff -NaurpBb clucene-core-2.3.3.4/CMakeLists.txt clucene-core-2.3.3.4-mod/CMakeLists.txt
+--- clucene-core-2.3.3.4/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/CMakeLists.txt 2011-08-16 16:56:55.968268152 +0400
+@@ -163,7 +163,7 @@ IF ( BUILD_CONTRIBS )
+ SET(BUILD_CONTRIBS_LIB 1)
+ ENDIF ( BUILD_CONTRIBS )
+ IF ( BUILD_CONTRIBS_LIB )
+- ADD_SUBDIRECTORY (src/contribs-lib EXCLUDE_FROM_ALL)
++ ADD_SUBDIRECTORY (src/contribs-lib)
+ ENDIF ( BUILD_CONTRIBS_LIB )
+
+
+diff -NaurpBb clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt
+--- clucene-core-2.3.3.4/src/contribs-lib/CMakeLists.txt 2011-03-17 03:21:07.000000000 +0300
++++ clucene-core-2.3.3.4-mod/src/contribs-lib/CMakeLists.txt 2011-08-16 17:14:13.499275499 +0400
+@@ -106,9 +106,26 @@ add_library(clucene-contribs-lib SHARED
+ )
+ TARGET_LINK_LIBRARIES(clucene-contribs-lib ${clucene_contrib_extra_libs})
+
++#install public headers.
++FOREACH(file ${HEADERS})
++ get_filename_component(apath ${file} PATH)
++ get_filename_component(aname ${file} NAME)
++ file(RELATIVE_PATH relpath ${CMAKE_SOURCE_DIR}/src/contribs-lib ${apath})
++ IF ( NOT aname MATCHES "^_.*" )
++ install(FILES ${file}
++ DESTINATION include/${relpath}
++ COMPONENT development)
++ ENDIF ( NOT aname MATCHES "^_.*" )
++ENDFOREACH(file)
++
+ #set properties on the libraries
+ SET_TARGET_PROPERTIES(clucene-contribs-lib PROPERTIES
+ VERSION ${CLUCENE_VERSION}
+ SOVERSION ${CLUCENE_SOVERSION}
+ COMPILE_DEFINITIONS_DEBUG _DEBUG
+ )
++
++#and install library
++install(TARGETS clucene-contribs-lib
++ DESTINATION ${LIB_DESTINATION}
++ COMPONENT runtime )
diff --git a/extra/clucene/clucene-core-2.3.3.4-pkgconfig.patch b/extra/clucene/clucene-core-2.3.3.4-pkgconfig.patch
new file mode 100644
index 000000000..aff20d7b4
--- /dev/null
+++ b/extra/clucene/clucene-core-2.3.3.4-pkgconfig.patch
@@ -0,0 +1,12 @@
+diff -up clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake.pkgconfig_sys_includes clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake
+--- clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake.pkgconfig_sys_includes 2011-03-16 19:21:07.000000000 -0500
++++ clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake 2012-03-19 09:01:00.689263954 -0500
+@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/i
+ Name: libclucene
+ Description: CLucene - a C++ search engine, ported from the popular Apache Lucene
+ Version: @CLUCENE_VERSION_MAJOR@.@CLUCENE_VERSION_MINOR@.@CLUCENE_VERSION_REVISION@.@CLUCENE_VERSION_PATCH@
+-Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core
+-Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext
++Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared
++Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext -I@LUCENE_SYS_INCLUDES@
+ ~
diff --git a/extra/clucene/clucene-debug.patch b/extra/clucene/clucene-debug.patch
new file mode 100644
index 000000000..640454e2f
--- /dev/null
+++ b/extra/clucene/clucene-debug.patch
@@ -0,0 +1,11 @@
+--- src/core/CLucene/index/TermInfosReader.cpp
++++ src/core/CLucene/index/TermInfosReader.cpp
+@@ -111,7 +111,7 @@
+ //destroy their elements
+ #ifdef _DEBUG
+ for ( int32_t i=0; i<indexTermsLength;++i ){
+- indexTerms[i].__cl_refcount--;
++ indexTerms[i].__cl_decref();
+ }
+ #endif
+ //Delete the arrays
diff --git a/extra/clucene/clucene-gcc-atomics.patch b/extra/clucene/clucene-gcc-atomics.patch
new file mode 100644
index 000000000..819e9a7d7
--- /dev/null
+++ b/extra/clucene/clucene-gcc-atomics.patch
@@ -0,0 +1,31 @@
+--- src/shared/CLucene/config/threads.cpp 2012-02-23 12:06:55.355506304 +0000
++++ src/shared/CLucene/config/threads.cpp 2012-02-23 12:07:17.131766381 +0000
+@@ -185,7 +185,7 @@
+ }
+
+ int32_t atomic_threads::atomic_increment(_LUCENE_ATOMIC_INT *theInteger){
+- #ifdef _CL_HAVE_GCC_ATOMIC_FUNCTIONS
++ #if ( __GNUC__ > 4 ) || (( __GNUC__ == 4) && ( __GNUC_MINOR__ >= 4 ))
+ return __sync_add_and_fetch(theInteger, 1);
+ #else
+ SCOPED_LOCK_MUTEX(theInteger->THIS_LOCK)
+@@ -193,7 +193,7 @@
+ #endif
+ }
+ int32_t atomic_threads::atomic_decrement(_LUCENE_ATOMIC_INT *theInteger){
+- #ifdef _CL_HAVE_GCC_ATOMIC_FUNCTIONS
++ #if ( __GNUC__ > 4 ) || (( __GNUC__ == 4) && ( __GNUC_MINOR__ >= 4 ))
+ return __sync_sub_and_fetch(theInteger, 1);
+ #else
+ SCOPED_LOCK_MUTEX(theInteger->THIS_LOCK)
+--- src/shared/CLucene/LuceneThreads.h 2012-02-23 12:36:28.388299322 +0000
++++ src/shared/CLucene/LuceneThreads.h 2012-02-23 12:37:23.131885433 +0000
+@@ -70,7 +70,7 @@
+ void NotifyAll();
+ };
+
+- #ifdef _CL_HAVE_GCC_ATOMIC_FUNCTIONS
++ #if ( __GNUC__ > 4 ) || (( __GNUC__ == 4) && ( __GNUC_MINOR__ >= 4 ))
+ #define _LUCENE_ATOMIC_INT uint32_t
+ #define _LUCENE_ATOMIC_INT_SET(x,v) x=v
+ #define _LUCENE_ATOMIC_INT_GET(x) x
diff --git a/extra/clucene/clucene-multimap-put.patch b/extra/clucene/clucene-multimap-put.patch
new file mode 100644
index 000000000..36ed1fe22
--- /dev/null
+++ b/extra/clucene/clucene-multimap-put.patch
@@ -0,0 +1,10 @@
+--- src/core/CLucene/util/VoidMap.h
++++ src/core/CLucene/util/VoidMap.h
+@@ -316,6 +316,7 @@ public:
+ if ( _this::dk || _this::dv )
+ _this::remove(k);
+
++ (*this)[k] = v;
+ }
+ };
+
diff --git a/extra/clucene/clucene-narrowing-conversions.patch b/extra/clucene/clucene-narrowing-conversions.patch
new file mode 100644
index 000000000..f0e971c55
--- /dev/null
+++ b/extra/clucene/clucene-narrowing-conversions.patch
@@ -0,0 +1,25 @@
+--- src/core/CLucene/queryParser/QueryParser.cpp.sav 2011-03-17 01:21:07.000000000 +0100
++++ src/core/CLucene/queryParser/QueryParser.cpp 2012-03-09 18:20:58.000000000 +0100
+@@ -79,7 +79,7 @@
+ _T("<RANGEEX_GOOP>")
+ };
+
+-const int32_t QueryParser::jj_la1_0[] = {0x180,0x180,0xe00,0xe00,0x1f69f80,0x48000,0x10000,0x1f69000,0x1348000,0x80000,0x80000,0x10000,0x18000000,0x2000000,0x18000000,0x10000,0x80000000,0x20000000,0x80000000,0x10000,0x80000,0x10000,0x1f68000};
++const int32_t QueryParser::jj_la1_0[] = {0x180,0x180,0xe00,0xe00,0x1f69f80,0x48000,0x10000,0x1f69000,0x1348000,0x80000,0x80000,0x10000,0x18000000,0x2000000,0x18000000,0x10000,int32_t(0x80000000),0x20000000,int32_t(0x80000000),0x10000,0x80000,0x10000,0x1f68000};
+ const int32_t QueryParser::jj_la1_1[] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0x0,0x0,0x0,0x0};
+
+ struct QueryParser::JJCalls {
+--- src/core/CLucene/queryParser/QueryParserTokenManager.cpp.sav 2011-03-17 01:21:07.000000000 +0100
++++ src/core/CLucene/queryParser/QueryParserTokenManager.cpp 2012-03-09 18:20:24.000000000 +0100
+@@ -15,9 +15,9 @@
+
+ CL_NS_DEF(queryParser)
+
+-const int64_t QueryParserTokenManager::jjbitVec2[]={0x0L, 0x0L, _ILONGLONG(0xffffffffffffffff), _ILONGLONG(0xffffffffffffffff)};
++const int64_t QueryParserTokenManager::jjbitVec2[]={0x0L, 0x0L, int64_t(_ILONGLONG(0xffffffffffffffff)), int64_t(_ILONGLONG(0xffffffffffffffff))};
+ const int64_t QueryParserTokenManager::jjbitVec0[] = {
+- _ILONGLONG(0xfffffffffffffffe), _ILONGLONG(0xffffffffffffffff), _ILONGLONG(0xffffffffffffffff), _ILONGLONG(0xffffffffffffffff)
++ int64_t(_ILONGLONG(0xfffffffffffffffe)), int64_t(_ILONGLONG(0xffffffffffffffff)), int64_t(_ILONGLONG(0xffffffffffffffff)), int64_t(_ILONGLONG(0xffffffffffffffff))
+ };
+ const int32_t QueryParserTokenManager::jjnextStates[]={
+ 15, 17, 18, 29, 32, 23, 33, 30, 20, 21, 32, 23, 33, 31, 34, 27,
diff --git a/extra/clucene/clucene-warnings.patch b/extra/clucene/clucene-warnings.patch
new file mode 100644
index 000000000..b9676d902
--- /dev/null
+++ b/extra/clucene/clucene-warnings.patch
@@ -0,0 +1,54 @@
+--- src/core/CLucene/analysis/AnalysisHeader.h 2012-02-22 12:37:22.531637934 +0000
++++ src/core/CLucene/analysis/AnalysisHeader.h 2012-02-22 12:39:15.369916728 +0000
+@@ -7,6 +7,8 @@
+ #ifndef _lucene_analysis_AnalysisHeader_
+ #define _lucene_analysis_AnalysisHeader_
+
++#pragma GCC system_header
++
+ #include "CLucene/index/Payload.h"
+ #include "CLucene/util/VoidList.h"
+ #include "CLucene/LuceneThreads.h"
+--- src/core/CLucene/search/Searchable.h 2012-02-22 12:37:22.513637729 +0000
++++ src/core/CLucene/search/Searchable.h 2012-02-22 12:38:51.073641550 +0000
+@@ -7,6 +7,7 @@
+ #ifndef _lucene_search_Searcher_
+ #define _lucene_search_Searcher_
+
++#pragma GCC system_header
+
+ //#include "CLucene/index/IndexReader.h"
+ CL_CLASS_DEF(index,Term)
+--- src/core/CLucene/store/IndexInput.h 2012-02-22 12:37:22.508637673 +0000
++++ src/core/CLucene/store/IndexInput.h 2012-02-22 12:39:00.465747935 +0000
+@@ -7,6 +7,8 @@
+ #ifndef _lucene_store_IndexInput_
+ #define _lucene_store_IndexInput_
+
++#pragma GCC system_header
++
+ #include "CLucene/LuceneThreads.h"
+ #include "CLucene/util/Equators.h"
+
+--- src/core/CLucene/util/Array.h 2012-02-22 12:37:22.510637696 +0000
++++ src/core/CLucene/util/Array.h 2012-02-22 12:38:33.714444884 +0000
+@@ -7,6 +7,8 @@
+ #ifndef _lucene_util_Array_
+ #define _lucene_util_Array_
+
++#pragma GCC system_header
++
+ #include <stdlib.h>
+ #include <string.h>
+
+--- src/core/CLucene/util/PriorityQueue.h 2012-02-22 12:37:22.510637696 +0000
++++ src/core/CLucene/util/PriorityQueue.h 2012-02-22 12:38:40.316519685 +0000
+@@ -7,6 +7,8 @@
+ #ifndef _lucene_util_PriorityQueue_
+ #define _lucene_util_PriorityQueue_
+
++#pragma GCC system_header
++
+ #include <stdlib.h>
+
+ CL_NS_DEF(util)
diff --git a/extra/clucene/fix_zlib_detections.diff b/extra/clucene/fix_zlib_detections.diff
new file mode 100644
index 000000000..2b08883f5
--- /dev/null
+++ b/extra/clucene/fix_zlib_detections.diff
@@ -0,0 +1,21 @@
+From: Veit Jahns <idolum@users.sourceforge.net>
+Date: Thu, 26 May 2011 11:35:28 +0000 (+0200)
+Subject: Fixing ZLIB configuration in shared's CMakeLists
+X-Git-Url: http://clucene.git.sourceforge.net/git/gitweb.cgi?p=clucene%2Fclucene;a=commitdiff_plain;h=772481ca94071ddfe65102a451926e4f9aeb4d2c;hp=a834f87bad3543b2a0331cef7202c15ded4245be
+
+Fixing ZLIB configuration in shared's CMakeLists
+---
+
+diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt
+index 68314a7..3d1975e 100644
+--- a/src/shared/CMakeLists.txt
++++ b/src/shared/CMakeLists.txt
+@@ -42,7 +42,7 @@ INCLUDE (CheckAtomicFunctions)
+ find_package(ZLIB)
+ IF ( ZLIB_FOUND )
+ SET ( EXTRA_LIBS ${EXTRA_LIBS} ${ZLIB_LIBRARY} )
+-ELSEIF ( ZLIB_FOUND )
++ELSE ( ZLIB_FOUND )
+ MESSAGE( "ZLIB not found, using local: ${clucene-ext_SOURCE_DIR}/zlib" )
+ SET(ZLIB_INCLUDE_DIR ${clucene-ext_SOURCE_DIR}/zlib )
+ SET(ZLIB_LIBRARY ${clucene-ext_BINARY_DIR})