summaryrefslogtreecommitdiff
path: root/user/clucene
diff options
context:
space:
mode:
Diffstat (limited to 'user/clucene')
-rw-r--r--user/clucene/APKBUILD15
-rw-r--r--user/clucene/disable-threading.patch75
2 files changed, 82 insertions, 8 deletions
diff --git a/user/clucene/APKBUILD b/user/clucene/APKBUILD
index f3a4a2110..784f52586 100644
--- a/user/clucene/APKBUILD
+++ b/user/clucene/APKBUILD
@@ -9,15 +9,14 @@ license="LGPLv2+ or ASL 2.0"
depends=""
depends_dev="zlib-dev boost-dev"
makedepends="cmake $depends_dev"
-install=""
subpackages="$pkgname-dev $pkgname-contribs"
source="http://downloads.sourceforge.net/clucene/clucene-core-$pkgver.tar.gz
clucene-core-2.3.3.4-pkgconfig.patch
clucene-core-2.3.3.4-install_contribs_lib.patch
clucene-core-2.3.3.4-usleep.patch
- "
+ disable-threading.patch"
builddir="$srcdir/clucene-core-$pkgver"
-options="!check"
+options=""
prepare() {
default_prepare
@@ -29,12 +28,12 @@ prepare() {
build() {
cd "$builddir"
- cmake . -DCMAKE_BUILD_TYPE=Release \
+ cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_CONTRIBS_LIB=BOOL:ON \
-DLIB_DESTINATION:PATH=/usr/lib \
- -DLUCENE_SYS_INCLUDES:PATH=/usr/lib
- #-DICONV_SECOND_ARGUMENT_IS_CONST=0
+ -DLUCENE_SYS_INCLUDES:PATH=/usr/lib \
+ -DDISABLE_MULTITHREADING=BOOL:ON
make
}
@@ -44,7 +43,6 @@ check() {
touch CMakeCache.txt
make cl_test
cd bin
- # Multiple tests segfault here
./cl_test
}
@@ -68,4 +66,5 @@ dev() {
sha512sums="1c9da9077edcebd46563bd9e47d330518e0b30061016650a759cfe051e9748fdad8932a472b1cca53a6adafed5f41656527271fc5f55ddfcefb558f0d83286b4 clucene-core-2.3.3.4.tar.gz
b357cb5a1c5d66219f3168724a71af3ebf5c45c752a612d3a69c170b739acc065dc17c261c3a730298ea6c637fe820637a100f73ab03d931734f80bb598fbf55 clucene-core-2.3.3.4-pkgconfig.patch
0aa92635949089196e4e7c579e78761e8751987ef5036320a161a4aaa67da3c63756398c903419c76ea0fbdc8a949e871fcb65be98179a9853a24a5a4cacfde3 clucene-core-2.3.3.4-install_contribs_lib.patch
-5de49cb5eba1f9033f28281e0e5ff0e29fe6842ea3e1cb246c12649dc12dedad15e1811b45ccc989a1b743657eb0eeb4937616aa19ec5ee482cd323f54431b99 clucene-core-2.3.3.4-usleep.patch"
+5de49cb5eba1f9033f28281e0e5ff0e29fe6842ea3e1cb246c12649dc12dedad15e1811b45ccc989a1b743657eb0eeb4937616aa19ec5ee482cd323f54431b99 clucene-core-2.3.3.4-usleep.patch
+3ded79aed693f6de35389377eddea0b4b0bb0cafd016f6f766986297c35912b18c1e90cedb1fb1d256765abdaab05ca2999aec2fe7ae309fa75231ac94c519a9 disable-threading.patch"
diff --git a/user/clucene/disable-threading.patch b/user/clucene/disable-threading.patch
new file mode 100644
index 000000000..87a5d1c91
--- /dev/null
+++ b/user/clucene/disable-threading.patch
@@ -0,0 +1,75 @@
+Adapted from https://sourceforge.net/p/clucene/bugs/197
+--- clucene-core-2.3.3.4/src/shared/CLucene/util/Misc.cpp 2011-03-16 20:21:07.000000000 -0400
++++ clucene-core-2.3.3.4/src/shared/CLucene/util/Misc.cpp 2018-05-20 19:24:09.219901243 -0400
+@@ -466,6 +466,7 @@
+ std::string Misc::toString(const bool value){
+ return value ? "true" : "false";
+ }
++#ifndef _CL_DISABLE_MULTITHREADING
+ std::string Misc::toString(_LUCENE_THREADID_TYPE value){
+ static int32_t nextindex = 0;
+ static std::map<_LUCENE_THREADID_TYPE, int32_t> ids;
+@@ -474,6 +475,7 @@
+ }
+ return toString(ids[value]);
+ }
++#endif
+ std::string Misc::toString(const int32_t value){
+ char buf[20];
+ TCHAR tbuf[20];
+--- clucene-core-2.3.3.4/src/shared/CLucene/util/Misc.h 2011-03-16 20:21:07.000000000 -0400
++++ clucene-core-2.3.3.4/src/shared/CLucene/util/Misc.h 2018-05-20 19:24:09.219901243 -0400
+@@ -67,7 +67,9 @@
+
+ static std::string toString(const int32_t value);
+ static std::string toString(const int64_t value);
++ #ifndef _CL_DISABLE_MULTITHREADING
+ static std::string toString(const _LUCENE_THREADID_TYPE value);
++ #endif
+ static std::string toString(const bool value);
+ static std::string toString(const float_t value);
+ static std::string toString(const TCHAR* s, int32_t len=-1);
+--- clucene-core-2.3.3.4/src/shared/CLucene/LuceneThreads.h 2011-03-16 20:21:07.000000000 -0400
++++ clucene-core-2.3.3.4/src/shared/CLucene/LuceneThreads.h 2018-05-20 19:28:05.999899570 -0400
+@@ -13,10 +13,10 @@
+
+ #if defined(_CL_DISABLE_MULTITHREADING)
+ #define SCOPED_LOCK_MUTEX(theMutex)
+- #define DEFINE_MUTEX(x)
++ //#define DEFINE_MUTEX(x)
+ #define DEFINE_MUTABLE_MUTEX(x)
+ #define DEFINE_CONDITION(x)
+- #define STATIC_DEFINE_MUTEX(x)
++ //#define STATIC_DEFINE_MUTEX(x)
+ #define CONDITION_WAIT(theMutex, theCondition)
+ #define CONDITION_NOTIFYALL(theCondition)
+ #define _LUCENE_CURRTHREADID 1
+@@ -25,11 +25,27 @@
+ #define _LUCENE_THREAD_FUNC_RETURN(val) return (int)val;
+ #define _LUCENE_THREAD_CREATE(func, arg) (*func)(arg)
+ #define _LUCENE_THREAD_JOIN(value) //nothing to do...
+- #define _LUCENE_THREADMUTEX void*
++ //#define _LUCENE_THREADMUTEX void*
+
+ #define _LUCENE_ATOMIC_INC(theInteger) (++(*theInteger))
+ #define _LUCENE_ATOMIC_DEC(theInteger) (--(*theInteger))
+ #define _LUCENE_ATOMIC_INT int
++
++ #define _LUCENE_ATOMIC_INT_SET(x,v) x=v
++ #define _LUCENE_ATOMIC_INT_GET(x) x
++
++ struct CLUCENE_SHARED_EXPORT mutex_thread
++ {
++ void lock() {}
++ void unlock() {}
++ };
++ #define _LUCENE_THREADMUTEX CL_NS(util)::mutex_thread
++
++ #define DEFINE_MUTEX(theMutex) _LUCENE_THREADMUTEX theMutex;
++ #define STATIC_DEFINE_MUTEX(theMutex) static _LUCENE_THREADMUTEX theMutex;
++
++ #define CONDITION_WAIT(theMutex, theCondition)
++ #define CONDITION_NOTIFYALL(theCondition)
+ #else
+ #if defined(_LUCENE_DONTIMPLEMENT_THREADMUTEX)
+ //do nothing