File project.diff of Package xapian-core
--- xapian-core.spec.orig
+++ xapian-core.spec
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+%bcond_without xapian_static
Name: xapian-core
Version: 1.4.27
@@ -27,14 +28,18 @@ Source0: https://www.oligarchy.co
Source1: https://www.oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz.asc
Source2: %{name}.keyring
Source3: baselibs.conf
+Patch0: %name.patch
BuildRequires: automake
BuildRequires: fdupes
-BuildRequires: gcc-c++ >= 4.6
-BuildRequires: libuuid-devel
+BuildRequires: file-devel
+BuildRequires: gcc13-c++
BuildRequires: pkg-config
+BuildRequires: pkgconfig(uuid)
+BuildRequires: pkgconfig(zlib)
BuildRequires: xz
-BuildRequires: zlib-devel
-Requires: libxapian30 = %{version}
+%if %{without xapian_static}
+Requires: libxapian30 = %{version}-%{release}
+%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -54,10 +59,12 @@ applications.
%package -n libxapian-devel
Summary: Files needed for building packages which use Xapian
Group: Development/Libraries/C and C++
-Requires: gcc-c++
-Requires: libuuid-devel
-Requires: libxapian30 = %{version}
-Requires: zlib-devel
+%if %{without xapian_static}
+Requires: libxapian30 = %{version}-%{release}
+%endif
+Requires: file-devel
+Requires: pkgconfig(uuid)
+Requires: pkgconfig(zlib)
%description -n libxapian-devel
Xapian is a Probabilistic Information Retrieval library. It offers an
@@ -69,7 +76,7 @@ This subpackage contains the header file
%package doc
Summary: Documentation for the xapian-core libraries
Group: Documentation/HTML
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description doc
Xapian is a Probabilistic Information Retrieval library.
@@ -79,7 +86,7 @@ This subpackage provides the documentati
%package examples
Summary: Examples for Xapian-core libraries
Group: Development/Libraries/C and C++
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
%description examples
Xapian is a Probabilistic Information Retrieval Library.
@@ -87,19 +94,30 @@ Xapian is a Probabilistic Information Re
This subpackage contains some examples for Xapian.
%prep
-%setup -q
+%autosetup -p1
%build
+# qt6-qtbase uses -std=gnu++17
+# recoll needs -std=c++17
+test -x "$(type -p gcc-13)" && export CC="$_"
+test -x "$(type -p g++-13)" && export CXX="$_" CXXFLAGS='%{optflags} -std=gnu++17 -fPIC'
%configure \
%ifarch i586
--disable-sse \
%endif
+%if %{with xapian_static}
+ --enable-static \
+ --disable-shared \
+%else
+ --disable-static \
+ --enable-shared \
+%endif
--docdir=%{_docdir}/%{name}/
-make %{?_smp_mflags}
+%make_build
%install
-make DESTDIR=%{buildroot} docdatadir=%{_docdir}/%{name} install %{?_smp_mflags}
+%make_install docdatadir=%{_docdir}/%{name}
rm -rf examples/{.libs,.deps,.dirstamp,*.o,quest,delve,simplesearch,simpleexpand,simpleindex,copydatabase,xapian-metadata,xapian-pos}
cp -vr examples %{buildroot}%{_docdir}/%{name}/
find . -name \*.spec -delete
@@ -110,9 +128,11 @@ install -m 644 COPYING %{buildroot}%{_do
%endif
%fdupes %{buildroot}%{_docdir}/%{name}
+%if %{without xapian_static}
%post -n libxapian30 -p /sbin/ldconfig
%postun -n libxapian30 -p /sbin/ldconfig
+%endif
%files
%defattr(-, root, root)
@@ -156,16 +176,22 @@ install -m 644 COPYING %{buildroot}%{_do
%{_mandir}/man1/xapian-replicate-server.1*
%{_datadir}/xapian-core/
+%if %{without xapian_static}
%files -n libxapian30
%defattr(-, root, root)
%{_libdir}/libxapian.so.*
+%endif
%files -n libxapian-devel
%defattr(-, root, root)
%{_bindir}/xapian-config
%{_includedir}/xapian
%{_includedir}/xapian.h
+%if %{with xapian_static}
+%{_libdir}/libxapian.a
+%else
%{_libdir}/libxapian.so
+%endif
%{_libdir}/libxapian.la
%{_datadir}/aclocal/xapian.m4
%dir %{_libdir}/cmake/