diff options
Diffstat (limited to 'user/clucene')
-rw-r--r-- | user/clucene/APKBUILD | 79 | ||||
-rw-r--r-- | user/clucene/disable-threading.patch | 75 | ||||
-rw-r--r-- | user/clucene/install_contribs_lib.patch | 42 | ||||
-rw-r--r-- | user/clucene/pkgconfig.patch | 12 | ||||
-rw-r--r-- | user/clucene/usleep.patch | 12 |
5 files changed, 220 insertions, 0 deletions
diff --git a/user/clucene/APKBUILD b/user/clucene/APKBUILD new file mode 100644 index 000000000..2c5e047e4 --- /dev/null +++ b/user/clucene/APKBUILD @@ -0,0 +1,79 @@ +# Contributor: Natanael Copa <ncopa@alpinelinux.org> +# Maintainer: Max Rees <maxcrees@me.com> +pkgname=clucene +pkgver=2.3.3.4 +pkgrel=5 +pkgdesc="A C++ port of Lucene" +url="http://www.sourceforge.net/projects/clucene" +arch="all" +license="(LGPL-2.1+ OR Apache-2.0) AND RSA-MD AND (LGPL-2.0+ OR Apache-2.0) AND Zlib AND Apache-2.0" +depends="" +depends_dev="zlib-dev boost-dev" +makedepends="cmake $depends_dev" +subpackages="$pkgname-dev $pkgname-contribs" +source="http://downloads.sourceforge.net/clucene/clucene-core-$pkgver.tar.gz + pkgconfig.patch + install_contribs_lib.patch + usleep.patch + disable-threading.patch +" +builddir="$srcdir/$pkgname-core-$pkgver" + +prepare() { + default_prepare + cd "$builddir" + # Do not use bundled zlib or boost + sed -ie '/ADD_SUBDIRECTORY (src\/ext)/d' CMakeLists.txt + rm -rf src/ext +} + +build() { + cd "$builddir" + 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 \ + -DDISABLE_MULTITHREADING=BOOL:ON + make +} + +check() { + cd "$builddir" + + # clucene is not smart enough to delete files between successive checks, + # so let's remove them for it. Otherwise, if check is run a second time + # without clearing the files beforehand, a lot of tests will fail. + rm -rf "$builddir/tmp" + mkdir "$builddir/tmp" + + # Need to force cmake to update - some sort of race condition + touch CMakeCache.txt + make cl_test + + cd bin + TMP="$builddir/tmp" ./cl_test +} + +package() { + cd "$builddir" + make install/fast DESTDIR="$pkgdir" + rm -r "$pkgdir"/usr/lib/CLuceneConfig.cmake +} + +contribs() { + pkgdesc="Language specific text analyzers for CLucene" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libclucene-contribs*.so.* "$subpkgdir"/usr/lib/ +} + +dev() { + default_dev + mv "$pkgdir"/usr/lib/CLucene/*.cmake "$subpkgdir"/usr/lib/CLucene/ +} + +sha512sums="1c9da9077edcebd46563bd9e47d330518e0b30061016650a759cfe051e9748fdad8932a472b1cca53a6adafed5f41656527271fc5f55ddfcefb558f0d83286b4 clucene-core-2.3.3.4.tar.gz +b357cb5a1c5d66219f3168724a71af3ebf5c45c752a612d3a69c170b739acc065dc17c261c3a730298ea6c637fe820637a100f73ab03d931734f80bb598fbf55 pkgconfig.patch +0aa92635949089196e4e7c579e78761e8751987ef5036320a161a4aaa67da3c63756398c903419c76ea0fbdc8a949e871fcb65be98179a9853a24a5a4cacfde3 install_contribs_lib.patch +5de49cb5eba1f9033f28281e0e5ff0e29fe6842ea3e1cb246c12649dc12dedad15e1811b45ccc989a1b743657eb0eeb4937616aa19ec5ee482cd323f54431b99 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 diff --git a/user/clucene/install_contribs_lib.patch b/user/clucene/install_contribs_lib.patch new file mode 100644 index 000000000..8fbb3c716 --- /dev/null +++ b/user/clucene/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/user/clucene/pkgconfig.patch b/user/clucene/pkgconfig.patch new file mode 100644 index 000000000..aff20d7b4 --- /dev/null +++ b/user/clucene/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/user/clucene/usleep.patch b/user/clucene/usleep.patch new file mode 100644 index 000000000..d6cbac360 --- /dev/null +++ b/user/clucene/usleep.patch @@ -0,0 +1,12 @@ +Add missing include needed to run tests which use usleep + +--- clucene-core-2.3.3.4/src/test/test.h 2011-03-17 00:21:07.000000000 +0000 ++++ clucene-core-2.3.3.4/src/test/test.h 2017-12-27 09:43:25.320000000 +0000 +@@ -23,6 +23,7 @@ + #include <iostream> + #include <string.h> + #include <stdio.h> ++#include <unistd.h> + + using namespace std; + |