1 # TODO: mongocrypt support
4 %bcond_with tests # build with tests
5 %bcond_without doc # HTML and man documentation
6 %bcond_with sasl # SASL authentication (for Kerberos)
7 %bcond_without ssl # TLS connections and SCRAM-SHA-1 authentication
10 # See https://jira.mongodb.org/browse/CDRIVER-1186
11 # 32-bit MongoDB support was officially deprecated
12 # in MongoDB 3.2, and support is being removed in 3.4.
14 Summary: Client library written in C for MongoDB
15 Summary(pl.UTF-8): Biblioteka kliencka do MongoDB napisana w C
21 #Source0Download: https://github.com/mongodb/mongo-c-driver/releases/
22 Source0: https://github.com/mongodb/mongo-c-driver/releases/download/%{version}/%{name}-%{version}.tar.gz
23 # Source0-md5: a06b6520531993746c0dfba8763749c1
24 URL: https://github.com/mongodb/mongo-c-driver
25 BuildRequires: cmake >= 3.1
26 %{?with_sasl:BuildRequires: cyrus-sasl-devel}
27 BuildRequires: libicu-devel
28 %{?with_ssl:BuildRequires: openssl-devel}
29 BuildRequires: pkgconfig
31 BuildRequires: snappy-devel
32 %{?with_doc:BuildRequires: sphinx-pdg}
33 BuildRequires: zlib-devel >= 1.2.12
34 BuildRequires: zstd-devel >= 0.8.0
36 BuildRequires: mongodb-server
37 BuildRequires: openssl
39 Requires: %{name}-libs = %{version}-%{release}
40 Obsoletes: mongo-c-driver-tools < 1.3.0
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 mongo-c-driver is a client library written in C for MongoDB.
48 %description -l pl.UTF-8
49 mongo-c-driver to biblioteka kliencka do MongoDB napisana w C.
52 Summary: Shared library for mongo-c-driver
53 Summary(pl.UTF-8): Biblioteka współdzielona mongo-c-driver
55 Requires: libbson = %{version}-%{release}
56 Requires: zlib >= 1.2.12
57 Requires: zstd >= 0.8.0
60 This package contains the shared library for mongo-c-driver.
62 %description libs -l pl.UTF-8
63 Ten pakiet zawiera bibliotekę współdzieloną mongo-c-driver.
66 Summary: Header files for mongo-c-driver library
67 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki mongo-c-driver
68 Group: Development/Libraries
69 Requires: %{name}-libs = %{version}-%{release}
72 This package contains the header files for mongo-c-driver library.
74 Documentation: http://mongoc.org/libmongoc/%{version}/
76 %description devel -l pl.UTF-8
77 Ten pakiet zawiera pliki nagłówkowe biblioteki mongo-c-driver.
79 Dokumentacja: http://mongoc.org/libmongoc/%{version}/
82 Summary: API documentation for mongo-c-driver library
83 Summary(pl.UTF-8): Dokumentacja API biblioteki mongo-c-driver
87 API documentation for mongo-c-driver library.
89 %description apidocs -l pl.UTF-8
90 Dokumentacja API biblioteki mongo-c-driver.
93 Summary: Building, parsing, and iterating BSON documents
94 Summary(pl.UTF-8): Tworzenie, analiza i przechodzenie dokumentów BSON
95 License: Apache v2.0 and ISC and MIT and zlib
98 %description -n libbson
99 This is a library providing useful routines related to building,
100 parsing, and iterating BSON documents <http://bsonspec.org/>.
102 %description -n libbson -l pl.UTF-8
103 Ta biblioteka udostępnia przydatne funkcje związane z budowaniem,
104 analizą i przechodzeniem dokumentów BSON (<http://bsonspec.org/>).
106 %package -n libbson-devel
107 Summary: Development files for libbson
108 Summary(pl.UTF-8): Pliki programistyczne biblioteki libbson
110 Group: Development/Libraries
111 Requires: libbson = %{version}-%{release}
113 %description -n libbson-devel
114 This package contains libraries and header files needed for developing
115 applications that use libbson.
117 %description -n libbson-devel -l pl.UTF-8
118 Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
119 wykorzystujących bibliotekę libbson.
121 %package -n libbson-apidocs
122 Summary: API documentation for libbson library
123 Summary(pl.UTF-8): Dokumentacja API biblioteki libbson
126 %description -n libbson-apidocs
127 API documentation for libbson library.
129 %description -n libbson-apidocs -l pl.UTF-8
130 Dokumentacja API biblioteki libbson.
136 install -d cmake-build
139 -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF \
141 -DENABLE_EXAMPLES=ON \
142 -DENABLE_HTML_DOCS=%{!?with_doc:OFF}%{?with_doc:ON} \
143 -DENABLE_MAN_PAGES=%{!?with_doc:OFF}%{?with_doc:ON} \
144 -DENABLE_SASL=%{!?with_sasl:OFF}%{?with_sasl:CYRUS} \
145 -DENABLE_SHM_COUNTERS=ON \
146 -DENABLE_SSL=%{!?with_ssl:OFF}%{?with_ssl:OPENSSL -DENABLE_CRYPTO_SYSTEM_PROFILE=ON} \
147 -DENABLE_STATIC=OFF \
148 -DENABLE_TESTS=%{!?with_tests:OFF}%{?with_tests:ON} \
149 -DENABLE_ZLIB=SYSTEM \
160 --unixSocketPrefix /tmp \
161 --logpath $PWD/server.log \
162 --pidfilepath $PWD/server.pid \
163 --dbpath $PWD/dbtest \
168 export MONGOC_TEST_OFFLINE=on
169 #export MONGOC_TEST_SKIP_SLOW=on
171 %{__make} check || ret=1
174 [ -s server.pid ] && kill $(cat server.pid)
180 rm -rf $RPM_BUILD_ROOT
182 %{__make} -C cmake-build install \
183 DESTDIR=$RPM_BUILD_ROOT
185 # packaged as %doc / unneeded in rpm
186 %{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/{COPYING,NEWS,README.rst,THIRD_PARTY_NOTICES,uninstall.sh}
188 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/{mongo-c-driver,libbson}/html
191 install -d $RPM_BUILD_ROOT%{_examplesdir}/libmongoc-%{version}
192 cp -a src/libmongoc/examples/* $RPM_BUILD_ROOT%{_examplesdir}/libmongoc-%{version}
194 install -d $RPM_BUILD_ROOT%{_examplesdir}/libbson-%{version}
195 cp -a src/libbson/examples/* $RPM_BUILD_ROOT%{_examplesdir}/libbson-%{version}
198 rm -rf $RPM_BUILD_ROOT
200 %post libs -p /sbin/ldconfig
201 %postun libs -p /sbin/ldconfig
203 %post -n libbson -p /sbin/ldconfig
204 %postun -n libbson -p /sbin/ldconfig
207 %defattr(644,root,root,755)
208 %attr(755,root,root) %{_bindir}/mongoc-stat
211 %defattr(644,root,root,755)
212 %doc NEWS README.rst THIRD_PARTY_NOTICES
213 %attr(755,root,root) %{_libdir}/libmongoc-%{libver}.so.*.*.*
214 %attr(755,root,root) %ghost %{_libdir}/libmongoc-%{libver}.so.0
217 %defattr(644,root,root,755)
218 %attr(755,root,root) %{_libdir}/libmongoc-%{libver}.so
219 %{_includedir}/libmongoc-%{libver}
220 %{_pkgconfigdir}/libmongoc-%{libver}.pc
221 %{_pkgconfigdir}/libmongoc-ssl-%{libver}.pc
222 %{_libdir}/cmake/libmongoc-%{libver}
223 %{_libdir}/cmake/mongoc-*.*
225 %{_mandir}/man3/mongoc_*.3*
227 %{_examplesdir}/libmongoc-%{version}
231 %defattr(644,root,root,755)
232 %doc cmake-build/src/libmongoc/doc/html/{_images,_static,*.html,*.js}
236 %defattr(644,root,root,755)
237 %doc src/libbson/{NEWS,THIRD_PARTY_NOTICES}
238 %attr(755,root,root) %{_libdir}/libbson-%{libver}.so.*.*.*
239 %attr(755,root,root) %ghost %{_libdir}/libbson-%{libver}.so.0
241 %files -n libbson-devel
242 %defattr(644,root,root,755)
243 %attr(755,root,root) %{_libdir}/libbson-%{libver}.so
244 %{_includedir}/libbson-%{libver}
245 %{_pkgconfigdir}/libbson-%{libver}.pc
246 %{_libdir}/cmake/bson-*.*
247 %{_libdir}/cmake/libbson-%{libver}
249 %{_mandir}/man3/bson_*.3*
251 %{_examplesdir}/libbson-%{version}
254 %files -n libbson-apidocs
255 %defattr(644,root,root,755)
256 %doc cmake-build/src/libbson/doc/html/{_static,*.html,*.js}