# remirepo spec file for libcouchbase # # Copyright (c) 2013-2017 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %if 0%{?fedora} >= 25 || 0%{?rhel} >= 8 %global with_tests 0%{!?_without_tests:1} %else # check-select-sock-tests hangs (btw, libevent backend is mandatory) %global with_tests 0%{?_with_tests:1} %endif # Dtrace breaks parallel build - not enabled in Fedora package %global with_dtrace 0 %if 0%{?fedora} >= 22 || 0%{?rhel} >= 7 %global with_uv 1 %else %global with_uv 0 %endif # Notices: # snappy supported but not enabled by default (upstream) # hdrhistrogram suppoort seems broken, so not enabled Name: libcouchbase Version: 2.8.2 Release: 1%{?dist} Summary: Couchbase client library Group: System Environment/Libraries License: ASL 2.0 URL: http://www.couchbase.com/communities/c/getting-started Source0: http://packages.couchbase.com/clients/c/%{name}-%{version}.tar.gz Patch0: 0001-enforce-system-crypto-policies.patch Patch1: 0002-do-not-install-plugins-into-libdir.patch Patch2: 0003-fix-pkgconfig-paths.patch BuildRequires: libtool BuildRequires: openssl-devel BuildRequires: cmake >= 2.8.9 BuildRequires: pkgconfig(libevent) >= 2.0.20 BuildRequires: libev-devel >= 3 %if %{with_uv} BuildRequires: pkgconfig(libuv) >= 1 %endif %if %{with_dtrace} BuildRequires: systemtap-sdt-devel >= 1.8 %endif %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 Recommends: %{name}-libevent%{_isa} = %{version}-%{release} Suggests: %{name}-libev%{_isa} = %{version}-%{release} Suggests: %{name}-tools%{_isa} = %{version}-%{release} %else Requires: %{name}-libevent%{_isa} = %{version}-%{release} %endif %description The C library provides fast access to documents in Couchbase Server 2.0. With JSON documents and Couchbase server 2.0 you have new ways to index and query data stored in the cluster through views. This client library, libcouchbase, also simplifies requests to Views through its handling of HTTP transport. This Couchbase Client Library for C and C++ provides a complete interface to the functionality of Couchbase Server. %package devel Summary: Development files for Couchbase client library Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package libevent Summary: Couchbase client library - libevent IO back-end Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description libevent This package provides libevent back-end for libcouchbase. %package libev Summary: Couchbase client library - libev IO back-end Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description libev This package provides libev back-end for libcouchbase. %if %{with_uv} %package libuv Summary: Couchbase client library - libuv IO back-end Group: System Environment/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description libuv This package provides libuv back-end for libcouchbase. %endif %package tools Summary: Couchbase tools Group: Applications/System Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libevent%{?_isa} = %{version}-%{release} %description tools The %{name}-tools package contains some command line tools to manage a Couchbase Server. %prep %setup -q %patch0 -p1 -b .crypto %patch1 -p1 -b .plug %patch2 -p1 -b .pkgc %build %cmake \ -DLCB_BUILD_LIBEVENT=ON \ -DLCB_BUILD_LIBEV=ON \ %if %{with_uv} -DLCB_BUILD_LIBUV=ON \ %else -DLCB_BUILD_LIBUV=OFF \ %endif %if %{with_dtrace} -DLCB_BUILD_DTRACE=ON \ %else -DLCB_BUILD_DTRACE=OFF \ %endif -DLCB_NO_MOCK=1 make %{?_smp_mflags} V=1 %install make install DESTDIR=%{buildroot} %check %if %{with_tests} make test %else : check disabled %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %{!?_licensedir:%global license %%doc} %doc README.markdown RELEASE_NOTES.markdown %license LICENSE %{_libdir}/%{name}.so.2* %files libevent %{_libdir}/%{name}/%{name}_libevent.so %files libev %{_libdir}/%{name}/%{name}_libev.so %if %{with_uv} %files libuv %{_libdir}/%{name}/%{name}_libuv.so %endif %files devel %{_includedir}/%{name} %{_libdir}/%{name}.so %{_libdir}/pkgconfig/%{name}.pc %files tools %{_bindir}/cbc* %{_mandir}/man1/cbc* %{_mandir}/man4/cbc* %changelog * Thu Nov 2 2017 Remi Collet - 2.8.2-1 - update to 2.8.2 - pull patches and other changes from Fedora - add libuv backend - move backends in optional sub-packages - enable upstream test suite on F25+ - disable dtrace * Wed Sep 20 2017 Remi Collet - 2.8.1-1 - update to 2.8.1 * Thu Aug 31 2017 Remi Collet - 2.8.0-1 - update to 2.8.0 * Thu Aug 17 2017 Remi Collet - 2.7.7-1 - update to 2.7.7 - drop patch merged upstream * Wed Jul 12 2017 Remi Collet - 2.7.6-2 - fix new symbols visibility, using patch from https://github.com/couchbase/libcouchbase/pull/27 for https://issues.couchbase.com/browse/CCBC-803 * Wed Jul 12 2017 Remi Collet - 2.7.6-1 - update to 2.7.6 * Mon May 22 2017 Remi Collet - 2.7.5-1 - update to 2.7.5 * Fri Apr 21 2017 Remi Collet - 2.7.4-1 - update to 2.7.4 * Wed Mar 22 2017 Remi Collet - 2.7.3-1 - update to 2.7.3 * Wed Feb 22 2017 Remi Collet - 2.7.2-1 - update to 2.7.2 * Fri Jan 20 2017 Remi Collet - 2.7.1-1 - update to 2.7.1 * Sat Dec 24 2016 Remi Collet - 2.7.0-1 - update to 2.7.0 * Tue Nov 29 2016 Remi Collet - 2.6.4-1 - update to 2.6.4 * Wed Sep 28 2016 Remi Collet - 2.6.3-1 - update to 2.6.3 * Thu Jul 28 2016 Remi Collet - 2.6.2-1 - update to 2.6.2 * Fri Jun 24 2016 Remi Collet - 2.6.1-1 - update to 2.6.1 * Thu May 26 2016 Remi Collet - 2.6.0-1 - update to 2.6.0 * Wed Apr 20 2016 Remi Collet - 2.5.8-1 - update to 2.5.8 * Thu Nov 5 2015 Remi Collet - 2.5.3-1 - update to 2.5.3 * Wed Apr 22 2015 Remi Collet - 2.4.9-1 - update to 2.4.9 - switch to cmake * Wed Nov 5 2014 Remi Collet - 2.4.3-1 - update to 2.4.3 * Sat Sep 20 2014 Remi Collet - 2.4.1-1 - update to 2.4.1 * Mon May 12 2014 Remi Collet - 2.3.1-1 - update to 2.3.1 - always use libevent 2 * Sat Oct 5 2013 Remi Collet - 2.1.3-1 - update to 2.1.3 * Sun Apr 14 2013 Remi Collet - 2.0.5-1 - Initial package