diff --git a/recipes-support/clucene/clucene-core_2.3.3.4.bb b/recipes-support/clucene/clucene-core_2.3.3.4.bb new file mode 100644 index 0000000..f6c05de --- /dev/null +++ b/recipes-support/clucene/clucene-core_2.3.3.4.bb @@ -0,0 +1,28 @@ +SUMMARY = "CLucene is a indexing and searching API" +HOMEPAGE = "http://www.sourceforge.net/projects/clucene" +LICENSE = "LGPLv2+ & Apache-2.0" +LIC_FILES_CHKSUM = " \ + file://APACHE.license;md5=86d3f3a95c324c9479bd8986968f4327 \ + file://LGPL.license;md5=464215a90afcdfbae965d89feb928c7e \ + file://COPYING;md5=b2e941b2872bb8566f505130d6d61ba4 \ +" +SRC_URI = " \ + ${SOURCEFORGE_MIRROR}/project/clucene/${BPN}-unstable/2.3/${BPN}-${PV}.tar.gz \ + file://0001-cmake-remplace-CHECK_CXX_SOURCE_RUNS-by-CHECK_CXX_SO.patch \ + file://0002-exclude-external-sources-from-build.patch \ + file://0003-align-pkg-config.patch \ + file://0004-fix-location-s-for-our-cmake-config.patch \ + file://0005-install-contribs-lib.patch \ +" +SRC_URI[md5sum] = "48d647fbd8ef8889e5a7f422c1bfda94" +SRC_URI[sha256sum] = "ddfdc433dd8ad31b5c5819cc4404a8d2127472a3b720d3e744e8c51d79732eab" + +inherit cmake + +DEPENDS = "boost zlib" + +EXTRA_OECMAKE = "-DENABLE_COMPILE_TESTS=OFF -DBUILD_CONTRIBS_LIB=ON" + +FILES_${PN}-dev += "${libdir}/cmake" + + diff --git a/recipes-support/clucene/files/0001-cmake-remplace-CHECK_CXX_SOURCE_RUNS-by-CHECK_CXX_SO.patch b/recipes-support/clucene/files/0001-cmake-remplace-CHECK_CXX_SOURCE_RUNS-by-CHECK_CXX_SO.patch new file mode 100644 index 0000000..55167fb --- /dev/null +++ b/recipes-support/clucene/files/0001-cmake-remplace-CHECK_CXX_SOURCE_RUNS-by-CHECK_CXX_SO.patch @@ -0,0 +1,138 @@ +From d67a282f30d49443ec4f8e63925b357edb66f906 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 11 Nov 2015 21:32:11 +0100 +Subject: [PATCH 1/5] cmake: remplace CHECK_CXX_SOURCE_RUNS by + CHECK_CXX_SOURCE_COMPILES +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +a test run is not possible so just do a test compile + +Upstream-Status: Inappropriate [cross specific] + +Signed-off-by: Andreas Müller +--- + src/shared/CMakeLists.txt | 1 - + src/shared/cmake/CheckAtomicFunctions.cmake | 4 ++-- + src/shared/cmake/CheckErrorHandling.cmake | 2 +- + src/shared/cmake/CheckNamespace.cmake | 4 ++-- + src/shared/cmake/CheckPthread.cmake | 2 +- + src/shared/cmake/CheckSnprintf.cmake | 4 ++-- + src/shared/cmake/DefineStaticSyntax.cmake | 4 ++-- + 7 files changed, 10 insertions(+), 11 deletions(-) + +diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt +index 68314a7..18e9612 100644 +--- a/src/shared/CMakeLists.txt ++++ b/src/shared/CMakeLists.txt +@@ -11,7 +11,6 @@ set(CMAKE_MODULE_PATH "${clucene-shared_SOURCE_DIR}/cmake") + INCLUDE (CheckIncludeFiles) + INCLUDE (CheckIncludeFileCXX) + INCLUDE (CheckCXXSourceCompiles) +-INCLUDE (CheckCXXSourceRuns) + INCLUDE (CheckFunctionExists) + + #local macros +diff --git a/src/shared/cmake/CheckAtomicFunctions.cmake b/src/shared/cmake/CheckAtomicFunctions.cmake +index e63f089..2e9c163 100644 +--- a/src/shared/cmake/CheckAtomicFunctions.cmake ++++ b/src/shared/cmake/CheckAtomicFunctions.cmake +@@ -1,9 +1,9 @@ +-INCLUDE(CheckCXXSourceRuns) ++INCLUDE(CheckCXXSourceCompiles) + + MACRO ( CHECK_HAVE_GCC_ATOMIC_FUNCTIONS result ) + + # Do step by step checking, +-CHECK_CXX_SOURCE_RUNS(" ++CHECK_CXX_SOURCE_COMPILES(" + #include + int main() + { +diff --git a/src/shared/cmake/CheckErrorHandling.cmake b/src/shared/cmake/CheckErrorHandling.cmake +index e60a491..24b3e94 100644 +--- a/src/shared/cmake/CheckErrorHandling.cmake ++++ b/src/shared/cmake/CheckErrorHandling.cmake +@@ -3,7 +3,7 @@ + + MACRO ( CHECK_HAVE_FUNCTION_TRY_BLOCKS result ) + #check for try/catch blocks +- CHECK_CXX_SOURCE_RUNS(" ++ CHECK_CXX_SOURCE_COMPILES(" + void foo() { try{ return; } catch( ... ){} } + int main(){ foo(); return 0; }" ${result}) + IF ( NOT ${result} ) +diff --git a/src/shared/cmake/CheckNamespace.cmake b/src/shared/cmake/CheckNamespace.cmake +index 688232a..512d412 100644 +--- a/src/shared/cmake/CheckNamespace.cmake ++++ b/src/shared/cmake/CheckNamespace.cmake +@@ -1,8 +1,8 @@ + #check if we support namespaces + MACRO ( CHECK_NAMESPACE haveNamespace ) + #Check if namespaces work in the compiler +- CHECK_CXX_SOURCE_RUNS(" ++ CHECK_CXX_SOURCE_COMPILES(" + namespace Outer { namespace Inner { int i = 0; }} + int main(){ using namespace Outer::Inner; return i; }" + ${haveNamespace} ) +-ENDMACRO ( CHECK_NAMESPACE haveNamespace ) +\ No newline at end of file ++ENDMACRO ( CHECK_NAMESPACE haveNamespace ) +diff --git a/src/shared/cmake/CheckPthread.cmake b/src/shared/cmake/CheckPthread.cmake +index f69f13e..f3f3896 100644 +--- a/src/shared/cmake/CheckPthread.cmake ++++ b/src/shared/cmake/CheckPthread.cmake +@@ -5,7 +5,7 @@ MACRO ( CHECK_PTHREAD_RECURSIVE ifpthread result) + IF ( ${ifpthread} ) + SET ( CMAKE_REQUIRED_FLAGS "${CMAKE_THREAD_LIBS_INIT}") + +- CHECK_CXX_SOURCE_RUNS(" ++ CHECK_CXX_SOURCE_COMPILES(" + #include + #include + #include +diff --git a/src/shared/cmake/CheckSnprintf.cmake b/src/shared/cmake/CheckSnprintf.cmake +index 8e99e33..c2f8a5c 100644 +--- a/src/shared/cmake/CheckSnprintf.cmake ++++ b/src/shared/cmake/CheckSnprintf.cmake +@@ -3,7 +3,7 @@ + MACRO ( CHECK_SNPRINTF ) + #check that our snprintf works correctly... + IF ( _CL_HAVE_FUNCTION_SNPRINTF ) +- CHECK_CXX_SOURCE_RUNS(" ++ CHECK_CXX_SOURCE_COMPILES(" + #include + int main(){ + char ovbuf[7]; +@@ -23,7 +23,7 @@ MACRO ( CHECK_SNPRINTF ) + + #check that our swnprintf works correctly... + IF ( _CL_HAVE_FUNCTION_SNWPRINTF ) +- CHECK_CXX_SOURCE_RUNS(" ++ CHECK_CXX_SOURCE_COMPILES(" + #include + #include + +diff --git a/src/shared/cmake/DefineStaticSyntax.cmake b/src/shared/cmake/DefineStaticSyntax.cmake +index 7be2415..ab9f85d 100644 +--- a/src/shared/cmake/DefineStaticSyntax.cmake ++++ b/src/shared/cmake/DefineStaticSyntax.cmake +@@ -3,11 +3,11 @@ + MACRO ( DEFINE_STATIC_SYNTAX ) + + #check which syntax of static const to use +- CHECK_CXX_SOURCE_RUNS("class x{public: static const int SCI=55; }; int main(){ x a; if ( a.SCI!=55 ) throw \"err\"; return 0; }" LUCENE_STATIC_CONSTANT_SYNTAX) ++ CHECK_CXX_SOURCE_COMPILES("class x{public: static const int SCI=55; }; int main(){ x a; if ( a.SCI!=55 ) throw \"err\"; return 0; }" LUCENE_STATIC_CONSTANT_SYNTAX) + IF ( LUCENE_STATIC_CONSTANT_SYNTAX ) + SET ( LUCENE_STATIC_CONSTANT_SYNTAX "static const type assignment") + ELSE ( LUCENE_STATIC_CONSTANT_SYNTAX ) + SET ( LUCENE_STATIC_CONSTANT_SYNTAX "enum { assignment }") + ENDIF ( LUCENE_STATIC_CONSTANT_SYNTAX ) + +-ENDMACRO ( DEFINE_STATIC_SYNTAX ) +\ No newline at end of file ++ENDMACRO ( DEFINE_STATIC_SYNTAX ) +-- +2.1.0 + diff --git a/recipes-support/clucene/files/0002-exclude-external-sources-from-build.patch b/recipes-support/clucene/files/0002-exclude-external-sources-from-build.patch new file mode 100644 index 0000000..757e9f0 --- /dev/null +++ b/recipes-support/clucene/files/0002-exclude-external-sources-from-build.patch @@ -0,0 +1,30 @@ +From 5e75d2caf0da8b12eaa0a89bbb7bf2c97e06f206 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 11 Nov 2015 21:54:21 +0100 +Subject: [PATCH 2/5] exclude external sources from build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Andreas Müller +--- + CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4950ddb..15a3b57 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -153,7 +153,6 @@ GET_BOOST_INCLUDE_PATH(_CL_BOOST_INCLUDE_PATH) + INCLUDE_DIRECTORIES( ${_CL_BOOST_INCLUDE_PATH} ) + + #include the projects +-ADD_SUBDIRECTORY (src/ext) + ADD_SUBDIRECTORY (src/shared) + ADD_SUBDIRECTORY (src/core) + ADD_SUBDIRECTORY (src/test) +-- +2.1.0 + diff --git a/recipes-support/clucene/files/0003-align-pkg-config.patch b/recipes-support/clucene/files/0003-align-pkg-config.patch new file mode 100644 index 0000000..4ea0dca --- /dev/null +++ b/recipes-support/clucene/files/0003-align-pkg-config.patch @@ -0,0 +1,37 @@ +From e5d2149e60d54130d7bbc2ae7b07902f5e22169a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 11 Nov 2015 21:55:11 +0100 +Subject: [PATCH 3/5] align pkg-config +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + src/core/libclucene-core.pc.cmake | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/core/libclucene-core.pc.cmake b/src/core/libclucene-core.pc.cmake +index 0152b25..0e77633 100644 +--- a/src/core/libclucene-core.pc.cmake ++++ b/src/core/libclucene-core.pc.cmake +@@ -1,11 +1,11 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix}/bin + libdir=${prefix}/@LIB_DESTINATION@ +-includedir=${prefix}/include:${prefix}/include/CLucene/ext ++includedir=${prefix}/include + + 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 + ~ +-- +2.1.0 + diff --git a/recipes-support/clucene/files/0004-fix-location-s-for-our-cmake-config.patch b/recipes-support/clucene/files/0004-fix-location-s-for-our-cmake-config.patch new file mode 100644 index 0000000..8e175d2 --- /dev/null +++ b/recipes-support/clucene/files/0004-fix-location-s-for-our-cmake-config.patch @@ -0,0 +1,48 @@ +From 46f4baa6808c17aa9bf2695174116adcf762c2a7 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 11 Nov 2015 22:02:54 +0100 +Subject: [PATCH 4/5] fix location(s) for our cmake config +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Andreas Müller +--- + src/core/CMakeLists.txt | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt +index 5e333a9..ec31803 100644 +--- a/src/core/CMakeLists.txt ++++ b/src/core/CMakeLists.txt +@@ -252,7 +252,7 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/CLuceneConfig.cmake" " + set(CLUCENE_SOVERSION ${CLUCENE_SOVERSION}) + ") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CLuceneConfig.cmake" +- DESTINATION ${LIB_DESTINATION}/CLuceneConfig.cmake) ++ DESTINATION ${LIB_DESTINATION}/cmake) + + # install pkg-config file + IF(NOT WIN32) +@@ -267,16 +267,10 @@ IF ( LUCENE_SYS_INCLUDES ) + install(FILES ${clucene-shared_BINARY_DIR}/CLucene/clucene-config.h + DESTINATION ${LUCENE_SYS_INCLUDES}/CLucene + COMPONENT development) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CLuceneConfig.cmake +- DESTINATION ${LUCENE_SYS_INCLUDES}/CLucene +- COMPONENT development) + ELSE ( LUCENE_SYS_INCLUDES ) + install(FILES ${clucene-shared_BINARY_DIR}/CLucene/clucene-config.h + DESTINATION include/CLucene + COMPONENT development) +- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CLuceneConfig.cmake +- DESTINATION include/CLucene +- COMPONENT development) + ENDIF ( LUCENE_SYS_INCLUDES ) + + +-- +2.1.0 + diff --git a/recipes-support/clucene/files/0005-install-contribs-lib.patch b/recipes-support/clucene/files/0005-install-contribs-lib.patch new file mode 100644 index 0000000..79c508a --- /dev/null +++ b/recipes-support/clucene/files/0005-install-contribs-lib.patch @@ -0,0 +1,69 @@ +From 100b82d341ff343bfb691ce389c40d99ff7b63c6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Wed, 11 Nov 2015 22:40:41 +0100 +Subject: [PATCH 5/5] install contribs-lib +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libreoffice requires them + +Taken from [1] + +[1[ http://pkgs.fedoraproject.org/cgit/clucene.git/plain/clucene-core-2.3.3.4-install_contribs_lib.patch + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller +--- + CMakeLists.txt | 2 +- + src/contribs-lib/CMakeLists.txt | 17 +++++++++++++++++ + 2 files changed, 18 insertions(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 15a3b57..586ce7e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,7 +162,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 --git a/src/contribs-lib/CMakeLists.txt b/src/contribs-lib/CMakeLists.txt +index c3cd213..b545708 100644 +--- a/src/contribs-lib/CMakeLists.txt ++++ b/src/contribs-lib/CMakeLists.txt +@@ -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 ) +-- +2.1.0 +