File lucene++.spec of Package lucene++

#
# spec file for package lucene++
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           lucene++
Version:        3.0.8
Release:        0
Summary:        A high-performance, full-featured text search engine written in C++
License:        Apache-2.0 OR LGPL-3.0-or-later
Group:          Development/Libraries/C and C++
URL:            https://github.com/luceneplusplus/LucenePlusPlus
Source:         https://github.com/luceneplusplus/LucenePlusPlus/archive/rel_%{version}/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM lucene++-3.0.8-fix-contrib-soname.patch -- https://github.com/luceneplusplus/LucenePlusPlus/pull/161
Patch0:         lucene++-3.0.8-fix-contrib-soname.patch
# PATCH-FIX-UPSTREAM lucene++-3.0.8-fix-pc-libdir.patch -- https://github.com/luceneplusplus/LucenePlusPlus/pull/162
Patch1:         lucene++-3.0.8-fix-pc-libdir.patch
# PATCH-FIX-UPSTREAM lucene++-3.0.8-fix-cmake-issues.patch -- https://github.com/luceneplusplus/LucenePlusPlus/pull/163
Patch2:         lucene++-3.0.8-fix-cmake-issues.patch
# PATCH-FIX-UPSTREAM lucene++-3.0.8-fix-missing-headers.patch -- hillwood@opensuse.org
# contrib headers should be installed
Patch3:         lucene++-3.0.8-fix-missing-headers.patch
# PATCH-FIX-UPSTREAM lucene++-3.0.9-fix-cmake-issues.patch -- https://github.com/luceneplusplus/LucenePlusPlus/pull/203
Patch4:         lucene++-3.0.9-fix-boost1.85.patch
BuildRequires:  cmake >= 3.5
BuildRequires:  gcc-c++
BuildRequires:  libboost_atomic-devel
BuildRequires:  libboost_filesystem-devel
BuildRequires:  libboost_iostreams-devel
BuildRequires:  libboost_regex-devel
BuildRequires:  libboost_system-devel
BuildRequires:  libboost_thread-devel
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(bzip2)
BuildRequires:  pkgconfig(zlib)

%description
An up to date C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine.

%package -n liblucene++0
Summary:        A high-performance, full-featured text search engine written in C++
Group:          Development/Libraries/C and C++

%description -n liblucene++0
An up to date C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine.

%package devel
Summary:        Development files for lucene++
Group:          Development/Libraries/C and C++
Requires:       liblucene++0 = %{version}

%description devel
Development files for lucene++, a high-performance, full-featured text search engine written in C++

%prep
%autosetup -p1 -n LucenePlusPlus-rel_%{version}

%build
%cmake -DINSTALL_GTEST=OFF
%make_build lucene++ lucene++-contrib

%install
%cmake_install

%check
# Exclude known failing test on ix86 (https://github.com/luceneplusplus/LucenePlusPlus/issues/98)
%ifarch %{ix86}
%define test_filter -Boolean2Test.testRandomQueries
%endif
# Tweak path to allow lucene++-tester to find liblucene++ and libgtest
export LD_LIBRARY_PATH="$PWD/build/src/core:$PWD/build/src/contrib:$PWD/build/lib"
build/src/test/lucene++-tester %{?test_filter:--gtest_filter=%{test_filter}}

%post -n liblucene++0 -p /sbin/ldconfig
%postun -n liblucene++0 -p /sbin/ldconfig

%files -n liblucene++0
%{_libdir}/liblucene++.so.*
%{_libdir}/liblucene++-contrib.so.*
%license COPYING APACHE.license GPL.license LGPL.license
%doc AUTHORS README* REQUESTS

%files devel
%license COPYING APACHE.license GPL.license LGPL.license
%{_includedir}/lucene++/
%{_libdir}/cmake/liblucene++/
%{_libdir}/cmake/liblucene++-contrib/
%{_libdir}/liblucene++.so
%{_libdir}/liblucene++-contrib.so
%{_libdir}/pkgconfig/liblucene++.pc
%{_libdir}/pkgconfig/liblucene++-contrib.pc

%changelog
openSUSE Build Service is sponsored by