diff --git a/.clucene.metadata b/.clucene.metadata new file mode 100644 index 0000000..20977da --- /dev/null +++ b/.clucene.metadata @@ -0,0 +1 @@ +1e7539eb92789f64dd47c2e7461334dd92865a0e SOURCES/clucene-core-2.3.3.4-e8e3d20.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..960639a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/clucene-core-2.3.3.4-e8e3d20.tar.xz diff --git a/SOURCES/clucene-core-2.3.3.4-CLuceneConfig.patch b/SOURCES/clucene-core-2.3.3.4-CLuceneConfig.patch new file mode 100644 index 0000000..92376db --- /dev/null +++ b/SOURCES/clucene-core-2.3.3.4-CLuceneConfig.patch @@ -0,0 +1,14 @@ +diff -up clucene-core-2.3.3.4/src/core/CMakeLists.txt.CLuceneConfig.cmake clucene-core-2.3.3.4/src/core/CMakeLists.txt +--- clucene-core-2.3.3.4/src/core/CMakeLists.txt.CLuceneConfig.cmake 2011-03-16 19:21:07.000000000 -0500 ++++ clucene-core-2.3.3.4/src/core/CMakeLists.txt 2014-10-07 19:32:17.042894690 -0500 +@@ -251,8 +251,8 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/ + set(CLUCENE_VERSION ${CLUCENE_VERSION}) + set(CLUCENE_SOVERSION ${CLUCENE_SOVERSION}) + ") +-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CLuceneConfig.cmake" +- DESTINATION ${LIB_DESTINATION}/CLuceneConfig.cmake) ++#install(FILES "${CMAKE_CURRENT_BINARY_DIR}/CLuceneConfig.cmake" ++# DESTINATION ${LIB_DESTINATION}/CLuceneConfig.cmake) + + # install pkg-config file + IF(NOT WIN32) diff --git a/SOURCES/clucene-core-2.3.3.4-install_contribs_lib.patch b/SOURCES/clucene-core-2.3.3.4-install_contribs_lib.patch new file mode 100644 index 0000000..8fbb3c7 --- /dev/null +++ b/SOURCES/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/SOURCES/clucene-core-2.3.3.4-pkgconfig.patch b/SOURCES/clucene-core-2.3.3.4-pkgconfig.patch new file mode 100644 index 0000000..aff20d7 --- /dev/null +++ b/SOURCES/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/SOURCES/clucene-core-2.3.3.4-usleep.patch b/SOURCES/clucene-core-2.3.3.4-usleep.patch new file mode 100644 index 0000000..31eb095 --- /dev/null +++ b/SOURCES/clucene-core-2.3.3.4-usleep.patch @@ -0,0 +1,11 @@ +diff -up clucene-core-2.3.3.4/src/test/search/TestIndexSearcher.cpp.usleep clucene-core-2.3.3.4/src/test/search/TestIndexSearcher.cpp +--- clucene-core-2.3.3.4/src/test/search/TestIndexSearcher.cpp.usleep 2011-03-16 19:21:07.000000000 -0500 ++++ clucene-core-2.3.3.4/src/test/search/TestIndexSearcher.cpp 2014-10-07 19:35:20.854480798 -0500 +@@ -4,6 +4,7 @@ + * Distributable under the terms of either the Apache License (Version 2.0) or + * the GNU Lesser General Public License, as specified in the COPYING file. + ------------------------------------------------------------------------------*/ ++#include + #include "test.h" + + DEFINE_MUTEX(searchMutex); diff --git a/SPECS/clucene.spec b/SPECS/clucene.spec new file mode 100644 index 0000000..d14c4d1 --- /dev/null +++ b/SPECS/clucene.spec @@ -0,0 +1,306 @@ + +%define git_long e8e3d20f20da5ee3e37d347207b01890829a5475 +%define git_short e8e3d20 +%define snap 20130812 + +Summary: A C++ port of Lucene +Name: clucene +Version: 2.3.3.4 +Release: 31.%{snap}.%{git_short}git%{?dist} +License: LGPLv2+ or ASL 2.0 +Group: Development/System +URL: http://www.sourceforge.net/projects/clucene +%if 0%{?snap} +# git archive e8e3d20f20da5ee3e37d347207b01890829a5475 --prefix=clucene-core-2.3.3.4/ | xz -9 > ../clucene-core-2.3.3.4-e8e3d20.tar.xz +Source0: clucene-core-2.3.3.4-%{git_short}.tar.xz + +%else +Source0: http://downloads.sourceforge.net/clucene/clucene-core-%{version}.tar.gz +%endif + +BuildRequires: boost-devel +BuildRequires: cmake +BuildRequires: gawk +BuildRequires: zlib-devel + +## upstreamable patches +# include LUCENE_SYS_INCLUDES in pkgconfig --cflags output +# https://bugzilla.redhat.com/748196 +# and +# https://sourceforge.net/tracker/?func=detail&aid=3461512&group_id=80013&atid=558446 +# pkgconfig file is missing clucene-shared +Patch50: clucene-core-2.3.3.4-pkgconfig.patch +# https://bugzilla.redhat.com/794795 +# https://sourceforge.net/tracker/index.php?func=detail&aid=3392466&group_id=80013&atid=558446 +# contribs-lib is not built and installed even with config +Patch51: clucene-core-2.3.3.4-install_contribs_lib.patch +# Don't install CLuceneConfig.cmake twice +Patch52: clucene-core-2.3.3.4-CLuceneConfig.patch +# Fix tests for undefined usleep +Patch53: clucene-core-2.3.3.4-usleep.patch + +%description +CLucene is a C++ port of the popular Apache Lucene search engine +(http://lucene.apache.org/java). +CLucene aims to be a high-speed alternative to Java Lucene, its API is very +similar to that of the Java version. CLucene has recently been brought up to +date with Lucene 2.3.2. It contains most of the same functionality as the Java version. + +%package core +Summary: Core clucene module +Group: Development/System +Provides: clucene = %{version}-%{release} +#Requires: %{name} = %{version}-%{release} +%description core +CLucene is a C++ port of the popular Apache Lucene search engine +(http://lucene.apache.org/java). +CLucene aims to be a high-speed alternative to Java Lucene, its API is very +similar to that of the Java version. CLucene has recently been brought up to +date with Lucene 2.3.2. It contains most of the same functionality as the Java version. + +%package core-devel +Summary: Headers for developing programs that will use %{name} +Group: Development/Libraries +Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-contribs-lib%{?_isa} = %{version}-%{release} +%description core-devel +This package contains the libraries and header files needed for +developing with clucene + +%package contribs-lib +Summary: Language specific text analyzers for %{name} +Group: Development/System +Requires: %{name}-core%{?_isa} = %{version}-%{release} +%description contribs-lib +%{summary}. + + +%prep +%setup -n %{name}-core-%{version} + +%patch50 -p1 -b .pkgconfig +%patch51 -p1 -b .install_contribs_lib +%patch52 -p1 -b .CLuceneConfig +%patch53 -p1 -b .usleep + +# nuke bundled code +rm -rfv src/ext/{boost/,zlib/} + + +%build +mkdir -p %{_target_platform} +pushd %{_target_platform} +%{cmake} \ + -DBUILD_CONTRIBS_LIB:BOOL=ON \ + -DLIB_DESTINATION:PATH=%{_libdir} \ + -DLUCENE_SYS_INCLUDES:PATH=%{_libdir} \ + .. +popd + +make %{?_smp_mflags} -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}" +# FIXME: make tests non-fatal for ppc and s390 (big endian 32 bit archs) until we have a proper fix +#ifnarch ppc s390 +export CTEST_OUTPUT_ON_FAILURE=1 +# needing the 'touch' here seems an odd workaroudn for missing dependency, race condition or cache requirement +touch src/test/CMakeLists.txt && \ +make -C %{_target_platform} cl_test && \ +time make -C %{_target_platform} test ARGS="--timeout 300 --output-on-failure" ||: +#endif + +%ldconfig_scriptlets core + +%files core +%defattr(-, root, root, -) +%doc APACHE.license AUTHORS ChangeLog COPYING LGPL.license README +%{_libdir}/libclucene-core.so.1* +%{_libdir}/libclucene-core.so.%{version} +%{_libdir}/libclucene-shared.so.1* +%{_libdir}/libclucene-shared.so.%{version} + +%ldconfig_scriptlets contribs-lib + +%files contribs-lib +%defattr(-, root, root, -) +%{_libdir}/libclucene-contribs-lib.so.1* +%{_libdir}/libclucene-contribs-lib.so.%{version} + +%files core-devel +%defattr(-, root, root, -) +%dir %{_libdir}/CLucene +%{_includedir}/CLucene/ +%{_includedir}/CLucene.h +%{_libdir}/libclucene*.so +%{_libdir}/CLucene/clucene-config.h +%{_libdir}/CLucene/CLuceneConfig.cmake +%{_libdir}/pkgconfig/libclucene-core.pc + + +%changelog +* Wed Feb 07 2018 Fedora Release Engineering - 2.3.3.4-31.20130812.e8e3d20git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Feb 04 2018 Igor Gnatenko - 2.3.3.4-30.20130812.e8e3d20git +- Switch to %%ldconfig_scriptlets + +* Wed Aug 02 2017 Fedora Release Engineering - 2.3.3.4-29.20130812.e8e3d20git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.3.3.4-28.20130812.e8e3d20git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jul 03 2017 Jonathan Wakely - 2.3.3.4-27.20130812.e8e3d20git +- Rebuilt for Boost 1.64 + +* Fri Feb 10 2017 Fedora Release Engineering - 2.3.3.4-26.20130812.e8e3d20git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 27 2017 Jonathan Wakely - 2.3.3.4-25.20130812.e8e3d20git +- Rebuilt for Boost 1.63 + +* Wed Feb 03 2016 Fedora Release Engineering - 2.3.3.4-24.20130812.e8e3d20git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 15 2016 Jonathan Wakely - 2.3.3.4-23.20130812.e8e3d20git +- Rebuilt for Boost 1.60 + +* Thu Aug 27 2015 Jonathan Wakely - 2.3.3.4-22.20130812.e8e3d20git +- Rebuilt for Boost 1.59 + +* Wed Jul 29 2015 Fedora Release Engineering - 2.3.3.4-21.20130812.e8e3d20git +- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159 + +* Wed Jul 22 2015 David Tardon - 2.3.3.4-20.20130812.e8e3d20git +- rebuild for Boost 1.58 + +* Wed Jun 17 2015 Fedora Release Engineering - 2.3.3.4-19.20130812.e8e3d20git +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 2.3.3.4-18.20130812.e8e3d20git +- Rebuilt for GCC 5 C++11 ABI change + +* Mon Jan 26 2015 Petr Machata - 2.3.3.4-17.20130812.e8e3d20git +- Rebuild for boost 1.57.0 + +* Thu Oct 09 2014 Rex Dieter 2.3.3.4-16.20130812.e8e3d20git +- %%check: more love + +* Thu Oct 09 2014 Rex Dieter 2.3.3.4-15.20130812.e8e3d20git +- fix minor cmake macro syntax error + +* Tue Oct 07 2014 Rex Dieter - 2.3.3.4-14.20130812.e8e3d20git +- 20130812 git snapshot +- fix tests +- %%prep: explicitly delete bundled boost,zlib + +* Sat Aug 16 2014 Fedora Release Engineering - 2.3.3.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.3.3.4-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 22 2014 Petr Machata - 2.3.3.4-11 +- Rebuild for boost 1.55.0 + +* Sat Aug 03 2013 Fedora Release Engineering - 2.3.3.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jul 30 2013 Petr Machata - 2.3.3.4-9 +- Rebuild for boost 1.54.0 + +* Wed Feb 13 2013 Fedora Release Engineering - 2.3.3.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 2.3.3.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Mar 19 2012 Rex Dieter 2.3.3.4-6 +- contribs-lib is not built and installed even with config (#794795, upstream ID: 3392466) +- pkgconfig file is missing clucene-shared (upstream ID: 3461512) +- non-descriptive descripton (#757319) + +* Sat Feb 25 2012 Peter Robinson - 2.3.3.4-5 +- Temporarily disable make check as it fails on all arches + +* Thu Jan 12 2012 Fedora Release Engineering - 2.3.3.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Oct 23 2011 Rex Dieter 2.3.3.4-3 +- include LUCENE_SYS_INCLUDES in pkgconfig --cflags output (#748196) + +* Wed Jun 08 2011 Rex Dieter 2.3.3.4-2 +- cleanup cmake usage +- fix scriptlets +- track sonames + +* Thu Jun 02 2011 Deji Akingunola - 2.3.3.4-1 +- Update to version 2.3.3.4 + +* Tue Feb 08 2011 Fedora Release Engineering - 0.9.21b-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jul 08 2010 Deji Akingunola 0.9.21b-2 +- Include the license text in the -core subpackage. + +* Sun Jun 06 2010 Robert Scheck 0.9.21b-1 +- Update to 0.9.21b + +* Wed Nov 04 2009 Dennis Gilmore - 0.9.21-5 +- disable 'make check on sparc64 along with ppc64 and s390x + +* Fri Jul 24 2009 Fedora Release Engineering - 0.9.21-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Apr 14 2009 Karsten Hopp 0.9.21-3 +- bypass 'make check' on s390x, similar to ppc64 + +* Tue Feb 24 2009 Fedora Release Engineering - 0.9.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Aug 27 2008 Deji Akingunola - 0.9.21-1 +- Update to version 0.9.21 + +* Sun Feb 10 2008 Deji Akingunola - 0.9.20-4 +- Rebuild for gcc43 + +* Wed Oct 25 2007 Deji Akingunola - 0.9.20-3 +- Fix a typo in the License field + +* Wed Oct 25 2007 Deji Akingunola - 0.9.20-2 +- Fix multiarch conflicts (BZ #340891) +- Bypass 'make check' for ppc64, its failing two tests there + +* Tue Aug 21 2007 Deji Akingunola - 0.9.20-1 +- Update to version 0.9.20 + +* Sat Aug 11 2007 Deji Akingunola - 0.9.19-1 +- Latest release update + +* Fri Aug 03 2007 Deji Akingunola - 0.9.16a-2 +- License tag update + +* Thu Feb 22 2007 Deji Akingunola - 0.9.16a-2 +- Add -contrib subpackage + +* Thu Dec 07 2006 Deji Akingunola - 0.9.16a-1 +- Update to latest stable release +- Run make check during build + +* Mon Nov 20 2006 Deji Akingunola - 0.9.15-3 +- Don't package APACHE.license since we've LGPL instead +- Package documentation in devel subpackage + +* Mon Nov 13 2006 Deji Akingunola - 0.9.15-2 +- Fix a bunch of issues with the spec (#215258) +- Moved the header file away from lib dir + +* Sat Nov 04 2006 Deji Akingunola - 0.9.15-1 +- Initial packaging for Fedora Extras