diff --git a/0000-clucene-core-2.3.3.4-pkgconfig.patch b/0000-clucene-core-2.3.3.4-pkgconfig.patch new file mode 100644 index 0000000..aff20d7 --- /dev/null +++ b/0000-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/0001-clucene-core-2.3.3.4-install_contribs_lib.patch b/0001-clucene-core-2.3.3.4-install_contribs_lib.patch new file mode 100644 index 0000000..8fbb3c7 --- /dev/null +++ b/0001-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/clucene-core-2.3.3.4-e8e3d20.tar.xz b/clucene-core-2.3.3.4-e8e3d20.tar.xz new file mode 100644 index 0000000..8276ae3 Binary files /dev/null and b/clucene-core-2.3.3.4-e8e3d20.tar.xz differ diff --git a/clucene.spec b/clucene.spec new file mode 100644 index 0000000..7fd939b --- /dev/null +++ b/clucene.spec @@ -0,0 +1,101 @@ +Name: clucene +Version: 2.3.3.4 +Release: 35 +Summary: CLucene is a C++ port of Lucene +License: LGPLv2+ or ASL 2.0 +URL: http://www.sourceforge.net/projects/clucene +Source0: clucene-core-2.3.3.4-e8e3d20.tar.xz +BuildRequires: boost-devel cmake gawk gcc-c++ zlib-devel +Patch0000: 0000-clucene-core-2.3.3.4-pkgconfig.patch +Patch0001: 0001-clucene-core-2.3.3.4-install_contribs_lib.patch + +%description +CLucene is a C++ port of Lucene: the high-performance, full-featured +text search engine written in Java. CLucene is faster than lucene +as it is written in C++. + +%package core +Summary: Core clucene module +Provides: clucene = %{version}-%{release} + +%description core +CLucene is a C++ port of Lucene. It is a high-performance, full-featured +text search engine written in C++. CLucene is faster than lucene +as it is written in C++. + +%package core-devel +Summary: Development files for clucene library +Requires: %{name}-core = %{version}-%{release} +Requires: %{name}-contribs-lib = %{version}-%{release} + +%description core-devel +CLucene is a C++ port of Lucene. It is a high-performance, full-featured text +search engine written in C++. CLucene is faster than lucene as it is written +in C++. +This package holds the development files for clucene. + +%package contribs-lib +Summary: Language specific text analyzers for %{name} +Requires: %{name}-core = %{version}-%{release} + +%description contribs-lib +%{summary}. + +%prep +%autosetup -n %{name}-core-%{version} -p1 + +rm -rfv src/ext/{boost/,zlib/} + + +%build +mkdir %{_target_platform} +cd %{_target_platform} +%{cmake} \ + -DBUILD_CONTRIBS_LIB:BOOL=ON -DLIB_DESTINATION:PATH=%{_libdir} \ + -DLUCENE_SYS_INCLUDES:PATH=%{_libdir} \ + .. +cd - + +%make_build -C %{_target_platform} + + +%install +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} + + +%check +export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig +test "$(pkg-config --modversion libclucene-core)" = "%{version}" +export CTEST_OUTPUT_ON_FAILURE=1 +touch src/test/CMakeLists.txt && \ +make -C %{_target_platform} cl_test && \ +time make -C %{_target_platform} test ARGS="--timeout 300 --output-on-failure" ||: + +%post core -p /sbin/ldconfig +%postun core -p /sbin/ldconfig + +%post contribs-lib -p /sbin/ldconfig +%postun contribs-lib -p /sbin/ldconfig + +%files core +%doc AUTHORS ChangeLog README APACHE.license COPYING LGPL.license +%{_libdir}/{libclucene-core.so.1*,libclucene-shared.so.1*} +%{_libdir}/{libclucene-core.so.%{version},libclucene-shared.so.%{version}} +%exclude %{_libdir}/CLuceneConfig.cmake/CLuceneConfig.cmake + +%files contribs-lib +%{_libdir}/libclucene-contribs-lib.so.1* +%{_libdir}/libclucene-contribs-lib.so.%{version} + +%files core-devel +%dir %{_libdir}/CLucene +%{_includedir}/CLucene/ +%{_includedir}/CLucene.h +%{_libdir}/libclucene*.so +%{_libdir}/CLucene/{clucene-config.h,CLuceneConfig.cmake} +%{_libdir}/pkgconfig/libclucene-core.pc + + +%changelog +* Sun Dec 1 2019 wangzhishun - 2.3.3.4-35 +- Package init