From db7efe738af8601ee129792d5c5155c4b9ac6541 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 04:00:31 +0100 Subject: [PATCH] libclucene-core.pc: remove internal boost includes conflicting with boost 1.54 (seen with libreoffice) [release 2.3.3.4-4mamba;Tue Jul 23 2013] --- README.md | 5 + ...2.3.3.4-fix_pkgconfig_clucene_shared.patch | 23 ++++ libclucene-2.3.3.4-install_contribs_lib.patch | 42 +++++++ ...pkgconfig_no_internal_boost_includes.patch | 10 ++ libclucene.spec | 116 ++++++++++++++++++ 5 files changed, 196 insertions(+) create mode 100644 libclucene-2.3.3.4-fix_pkgconfig_clucene_shared.patch create mode 100644 libclucene-2.3.3.4-install_contribs_lib.patch create mode 100644 libclucene-2.3.3.4-pkgconfig_no_internal_boost_includes.patch create mode 100644 libclucene.spec diff --git a/README.md b/README.md index 1f8bd90..466e694 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # libclucene +CLucene is a high-performance, scalable, cross platform, full-featured, open-source indexing and searching API written in C++. +CLucene is a port of the very popular Java Lucene text search engine API. +Specifically, CLucene is the guts of a search engine, the hard stuff. +CLucene aims to be a good alternative to Java Lucene when performance really matters or if you want to stick to good old C++. + diff --git a/libclucene-2.3.3.4-fix_pkgconfig_clucene_shared.patch b/libclucene-2.3.3.4-fix_pkgconfig_clucene_shared.patch new file mode 100644 index 0000000..e048961 --- /dev/null +++ b/libclucene-2.3.3.4-fix_pkgconfig_clucene_shared.patch @@ -0,0 +1,23 @@ +From 7be4a19b76d98260cf95040a47935f854a4ba7a4 Mon Sep 17 00:00:00 2001 +From: Valentin Rusu +Date: Sat, 17 Dec 2011 13:47:58 +0100 +Subject: [PATCH] Fix .pc file by adding clucene-shared library + +--- + src/core/libclucene-core.pc.cmake | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/core/libclucene-core.pc.cmake b/src/core/libclucene-core.pc.cmake +index 0152b25..d421e70 100644 +--- a/src/core/libclucene-core.pc.cmake ++++ b/src/core/libclucene-core.pc.cmake +@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/include/CLucene/ext + 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 ++Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared + Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext + ~ +-- +1.7.8 diff --git a/libclucene-2.3.3.4-install_contribs_lib.patch b/libclucene-2.3.3.4-install_contribs_lib.patch new file mode 100644 index 0000000..8fbb3c7 --- /dev/null +++ b/libclucene-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/libclucene-2.3.3.4-pkgconfig_no_internal_boost_includes.patch b/libclucene-2.3.3.4-pkgconfig_no_internal_boost_includes.patch new file mode 100644 index 0000000..1cb54dd --- /dev/null +++ b/libclucene-2.3.3.4-pkgconfig_no_internal_boost_includes.patch @@ -0,0 +1,10 @@ +diff -Nru clucene-core-2.3.3.4.orig/src/core/libclucene-core.pc.cmake clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake +--- clucene-core-2.3.3.4.orig/src/core/libclucene-core.pc.cmake 2013-07-23 04:07:50.141553817 +0200 ++++ clucene-core-2.3.3.4/src/core/libclucene-core.pc.cmake 2013-07-23 04:08:29.631253335 +0200 +@@ -7,5 +7,4 @@ + 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 -lclucene-shared +-Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext +-~ ++Cflags: -I${prefix}/include diff --git a/libclucene.spec b/libclucene.spec new file mode 100644 index 0000000..923e95d --- /dev/null +++ b/libclucene.spec @@ -0,0 +1,116 @@ +Name: libclucene +Version: 2.3.3.4 +Release: 4mamba +Summary: A C++ port of Lucene: the high-performance, full-featured text search engine +Group: System/Database +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.sourceforge.net/projects/clucene/ +Source: http://downloads.sourceforge.net/clucene/clucene-core-%{version}.tar.gz +Patch0: %{name}-2.3.3.4-fix_pkgconfig_clucene_shared.patch +Patch1: %{name}-2.3.3.4-install_contribs_lib.patch +Patch2: libclucene-2.3.3.4-pkgconfig_no_internal_boost_includes.patch +License: Apache License 2.0 +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libgcc +BuildRequires: libstdc++6-devel +BuildRequires: libz-devel +BuildRequires: pkg-config +## AUTOBUILDREQ-END +BuildRequires: gcc-c++ +BuildRequires: doxygen +BuildRequires: graphviz +Provides: libclucene-core +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +CLucene is a high-performance, scalable, cross platform, full-featured, open-source indexing and searching API written in C++. +CLucene is a port of the very popular Java Lucene text search engine API. +Specifically, CLucene is the guts of a search engine, the hard stuff. +CLucene aims to be a good alternative to Java Lucene when performance really matters or if you want to stick to good old C++. + +%package devel +Group: Development/Libraries +Summary: Static libraries and headers for %{name} +Provides: libclucene-core-devel +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +CLucene is a high-performance, scalable, cross platform, full-featured, open-source indexing and searching API written in C++. +CLucene is a port of the very popular Java Lucene text search engine API. +Specifically, CLucene is the guts of a search engine, the hard stuff. +CLucene aims to be a good alternative to Java Lucene when performance really matters or if you want to stick to good old C++. + +This package contains static libraries and header files need for development. + +%prep +%setup -q -n clucene-core-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +%cmake \ + -DBUILD_CONTRIBS_LIB=BOOL:ON \ + -DLUCENE_SYS_INCLUDES:PATH=%{_includedir} + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%{_libdir}/libclucene-contribs-lib.so.* +%{_libdir}/libclucene-core.so.* +%{_libdir}/libclucene-shared.so.* +%doc AUTHORS COPYING + +%files devel +%defattr(-,root,root) +%{_includedir}/CLucene.h +%dir %{_includedir}/CLucene +%{_includedir}/CLucene/* +%{_libdir}/libclucene-contribs-lib.so +%{_libdir}/libclucene-core.so +%{_libdir}/libclucene-shared.so +%{_includedir}/CLucene/CLuceneConfig.cmake +%{_includedir}/CLucene/clucene-config.h +%dir %{_libdir}/CLuceneConfig.cmake/CLuceneConfig.cmake +%{_libdir}/pkgconfig/libclucene-core.pc +%doc APACHE.license ChangeLog NEWS README REQUESTS + +%changelog +* Tue Jul 23 2013 Silvan Calarco 2.3.3.4-4mamba +- libclucene-core.pc: remove internal boost includes conflicting with boost 1.54 (seen with libreoffice) + +* Fri Jul 27 2012 Silvan Calarco 2.3.3.4-3mamba +- set contrib includes dir to %{_includedir} instead of %{_libdir} + +* Tue Jul 17 2012 Silvan Calarco 2.3.3.4-2mamba +- build contribs lib + +* Tue Jul 17 2012 Silvan Calarco 2.3.3.4-1mamba +- update to 2.3.3.4 + +* Thu Aug 28 2008 Aleph0 0.9.21-1mamba +- update to 0.9.21 + +* Mon Oct 29 2007 Aleph0 0.9.20-1mamba +- update to 0.9.20 + +* Thu Jul 05 2007 Aleph0 0.9.16a-2mamba +- run ldconfig when updating/removing the package +- fixed package license + +* Sun Jan 28 2007 Silvan Calarco 0.9.16a-1qilnx +- package created by autospec